Initial commit: OCA Technical packages (595 packages)

This commit is contained in:
Ernad Husremovic 2025-08-29 15:43:03 +02:00
commit 2cc02aac6e
24950 changed files with 2318079 additions and 0 deletions

View file

@ -0,0 +1,128 @@
=============================
Point of Sale - Minimize Menu
=============================
..
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:bc36a1da44c6db76a0ff464f58f1511761851ac5673829cda4f6cb9efb53c881
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
:target: https://odoo-community.org/page/development-status
:alt: Beta
.. |badge2| image:: https://img.shields.io/badge/licence-LGPL--3-blue.png
:target: http://www.gnu.org/licenses/lgpl-3.0-standalone.html
:alt: License: LGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fpos-lightgray.png?logo=github
:target: https://github.com/OCA/pos/tree/16.0/pos_minimize_menu
:alt: OCA/pos
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/pos-16-0/pos-16-0-pos_minimize_menu
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
:target: https://runboat.odoo-community.org/builds?repo=OCA/pos&target_branch=16.0
:alt: Try me on Runboat
|badge1| |badge2| |badge3| |badge4| |badge5|
This module allows you to minimize the placeholder that contains
all the options in main point of sale menu part.
It allows to have more place for the display of the current ticket.
**Without this module:**
.. image:: https://raw.githubusercontent.com/OCA/pos/16.0/pos_minimize_menu/static/img/without_module.png
**with this module:**
.. image:: https://raw.githubusercontent.com/OCA/pos/16.0/pos_minimize_menu/static/img/with_module.png
**Table of contents**
.. contents::
:local:
Configuration
=============
if you want to display in the main screen some important buttons:
* Go to 'Point of Sale > Configuration > Settings'
* Edit the field 'Important Buttons' and write the technical name of the buttons.
.. image:: https://raw.githubusercontent.com/OCA/pos/16.0/pos_minimize_menu/static/img/configure_important_buttons.png
Here are for the official modules, the following possibles values:
* ``point_of_sale`` : ProductInfoButton, SetFiscalPositionButton, OrderlineCustomerNoteButton, SetPricelistButton, RefundButton
* ``pos_sale``: SetSaleOrderButton
* ``pos_discount``: DiscountButton
* ``pos_loyalty``: RewardButton, ResetProgramsButton, eWalletButton, PromoCodeButton
* ``pos_restaurant``: SplitBillButton, SubmitOrderButton, TransferOrderButton, PrintBillButton, TableGuestsButton, OrderlineNoteButton
As a result, selected buttons will be displayed in the main screen:
.. image:: https://raw.githubusercontent.com/OCA/pos/16.0/pos_minimize_menu/static/img/important_buttons_displayed.png
Development
===========
Technically, it provides the same UI for the desktop version
as for the mobile version.
Bug Tracker
===========
Bugs are tracked on `GitHub Issues <https://github.com/OCA/pos/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us to smash it by providing a detailed and welcomed
`feedback <https://github.com/OCA/pos/issues/new?body=module:%20pos_minimize_menu%0Aversion:%2016.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
Do not contact contributors directly about support or help with technical issues.
Credits
=======
Authors
~~~~~~~
* GRAP
Contributors
~~~~~~~~~~~~
* Sylvain LE GAL (https://twitter.com/legalsylvain)
Maintainers
~~~~~~~~~~~
This module is maintained by the OCA.
.. image:: https://odoo-community.org/logo.png
:alt: Odoo Community Association
:target: https://odoo-community.org
OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.
.. |maintainer-legalsylvain| image:: https://github.com/legalsylvain.png?size=40px
:target: https://github.com/legalsylvain
:alt: legalsylvain
Current `maintainer <https://odoo-community.org/page/maintainer-role>`__:
|maintainer-legalsylvain|
This module is part of the `OCA/pos <https://github.com/OCA/pos/tree/16.0/pos_minimize_menu>`_ project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

View file

@ -0,0 +1 @@
from . import models

View file

@ -0,0 +1,26 @@
# Copyright (C) 2023 - Today: GRAP (http://www.grap.coop)
# @author: Sylvain LE GAL (https://twitter.com/legalsylvain)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
{
"name": "Point of Sale - Minimize Menu",
"version": "16.0.1.0.0",
"category": "Point of Sale",
"summary": "Reduce size of the main menu of the point of sale.",
"depends": ["point_of_sale"],
"website": "https://github.com/OCA/pos",
"author": "GRAP,Odoo Community Association (OCA)",
"maintainers": ["legalsylvain"],
"demo": [
"demo/pos_config.xml",
],
"data": [
"views/view_res_config_settings.xml",
],
"assets": {
"point_of_sale.assets": [
"pos_minimize_menu/static/src/js/ProductScreen.js",
"pos_minimize_menu/static/src/xml/ProductScreen.xml",
],
},
"license": "LGPL-3",
}

View file

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8" ?>
<!--
Copyright (C) 2023-Today GRAP (http://www.grap.coop)
@author Sylvain LE GAL (https://twitter.com/legalsylvain)
License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html
-->
<odoo>
<record id="point_of_sale.pos_config_main" model="pos.config">
<field name="iface_important_buttons">OrderlineCustomerNoteButton</field>
</record>
</odoo>

View file

@ -0,0 +1,52 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * pos_minimize_menu
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Report-Msgid-Bugs-To: \n"
"Last-Translator: \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"
#. module: pos_minimize_menu
#: model:ir.model,name:pos_minimize_menu.model_res_config_settings
msgid "Config Settings"
msgstr "Postavke"
#. module: pos_minimize_menu
#: model:ir.model.fields,field_description:pos_minimize_menu.field_pos_config__iface_important_buttons
#: model:ir.model.fields,field_description:pos_minimize_menu.field_res_config_settings__pos_iface_important_buttons
msgid "Important Buttons"
msgstr "Važna dugmad"
#. module: pos_minimize_menu
#: model:ir.model,name:pos_minimize_menu.model_pos_config
msgid "Point of Sale Configuration"
msgstr "Postavke prodajnog mjesta"
#. module: pos_minimize_menu
#: model_terms:ir.ui.view,arch_db:pos_minimize_menu.view_res_config_settings_form
msgid ""
"Set technical names of buttons that will be displayed in the main point of "
"sale screen. Other buttons will be available by clicking on the button "
"'More...'"
msgstr ""
#. module: pos_minimize_menu
#: model:ir.model.fields,help:pos_minimize_menu.field_pos_config__iface_important_buttons
#: model:ir.model.fields,help:pos_minimize_menu.field_res_config_settings__pos_iface_important_buttons
msgid ""
"Set technical names of buttons that will be displayed in the main point of "
"sale screen. Other buttons will be available by clicking on the button "
"'More...'."
msgstr ""
#. module: pos_minimize_menu
#: model_terms:ir.ui.view,arch_db:pos_minimize_menu.view_res_config_settings_form
msgid "e.g. OrderlineCustomerNoteButton"
msgstr "npr. OrderlineCustomerNoteButton"

View file

@ -0,0 +1,61 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * pos_minimize_menu
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2024-02-08 22:35+0000\n"
"Last-Translator: Ivorra78 <informatica@totmaterial.es>\n"
"Language-Team: none\n"
"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.17\n"
#. module: pos_minimize_menu
#: model:ir.model,name:pos_minimize_menu.model_res_config_settings
msgid "Config Settings"
msgstr "Ajustes Config"
#. module: pos_minimize_menu
#: model:ir.model.fields,field_description:pos_minimize_menu.field_pos_config__iface_important_buttons
#: model:ir.model.fields,field_description:pos_minimize_menu.field_res_config_settings__pos_iface_important_buttons
msgid "Important Buttons"
msgstr "Botones Importantes"
#. module: pos_minimize_menu
#: model:ir.model,name:pos_minimize_menu.model_pos_config
msgid "Point of Sale Configuration"
msgstr "Configuración de Punto de Venta"
#. module: pos_minimize_menu
#: model_terms:ir.ui.view,arch_db:pos_minimize_menu.view_res_config_settings_form
msgid ""
"Set technical names of buttons that will be displayed in the main point of "
"sale screen. Other buttons will be available by clicking on the button "
"'More...'"
msgstr ""
"Establezca los nombres técnicos de los botones que se mostrarán en la "
"pantalla principal del punto de venta. Otros botones estarán disponibles "
"pulsando el botón 'Más...'"
#. module: pos_minimize_menu
#: model:ir.model.fields,help:pos_minimize_menu.field_pos_config__iface_important_buttons
#: model:ir.model.fields,help:pos_minimize_menu.field_res_config_settings__pos_iface_important_buttons
msgid ""
"Set technical names of buttons that will be displayed in the main point of "
"sale screen. Other buttons will be available by clicking on the button "
"'More...'."
msgstr ""
"Establezca los nombres técnicos de los botones que se mostrarán en la "
"pantalla principal del punto de venta. Otros botones estarán disponibles "
"pulsando el botón 'Más...'."
#. module: pos_minimize_menu
#: model_terms:ir.ui.view,arch_db:pos_minimize_menu.view_res_config_settings_form
msgid "e.g. OrderlineCustomerNoteButton"
msgstr "p. ej. OrderlineCustomerNoteButton"

View file

@ -0,0 +1,53 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * pos_minimize_menu
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Report-Msgid-Bugs-To: \n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
#. module: pos_minimize_menu
#: model:ir.model,name:pos_minimize_menu.model_res_config_settings
msgid "Config Settings"
msgstr ""
#. module: pos_minimize_menu
#: model:ir.model.fields,field_description:pos_minimize_menu.field_pos_config__iface_important_buttons
#: model:ir.model.fields,field_description:pos_minimize_menu.field_res_config_settings__pos_iface_important_buttons
msgid "Important Buttons"
msgstr ""
#. module: pos_minimize_menu
#: model:ir.model,name:pos_minimize_menu.model_pos_config
msgid "Point of Sale Configuration"
msgstr ""
#. module: pos_minimize_menu
#: model_terms:ir.ui.view,arch_db:pos_minimize_menu.view_res_config_settings_form
msgid ""
"Set technical names of buttons that will be displayed in the main point of "
"sale screen. Other buttons will be available by clicking on the button "
"'More...'"
msgstr ""
#. module: pos_minimize_menu
#: model:ir.model.fields,help:pos_minimize_menu.field_pos_config__iface_important_buttons
#: model:ir.model.fields,help:pos_minimize_menu.field_res_config_settings__pos_iface_important_buttons
msgid ""
"Set technical names of buttons that will be displayed in the main point of "
"sale screen. Other buttons will be available by clicking on the button "
"'More...'."
msgstr ""
#. module: pos_minimize_menu
#: model_terms:ir.ui.view,arch_db:pos_minimize_menu.view_res_config_settings_form
msgid "e.g. OrderlineCustomerNoteButton"
msgstr ""

View file

@ -0,0 +1,61 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * pos_minimize_menu
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2023-10-13 14:40+0000\n"
"Last-Translator: mymage <stefano.consolaro@mymage.it>\n"
"Language-Team: none\n"
"Language: it\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.17\n"
#. module: pos_minimize_menu
#: model:ir.model,name:pos_minimize_menu.model_res_config_settings
msgid "Config Settings"
msgstr "Impostazioni configurazione"
#. module: pos_minimize_menu
#: model:ir.model.fields,field_description:pos_minimize_menu.field_pos_config__iface_important_buttons
#: model:ir.model.fields,field_description:pos_minimize_menu.field_res_config_settings__pos_iface_important_buttons
msgid "Important Buttons"
msgstr "Pulsanti importanti"
#. module: pos_minimize_menu
#: model:ir.model,name:pos_minimize_menu.model_pos_config
msgid "Point of Sale Configuration"
msgstr "Configurazione punto vendita"
#. module: pos_minimize_menu
#: model_terms:ir.ui.view,arch_db:pos_minimize_menu.view_res_config_settings_form
msgid ""
"Set technical names of buttons that will be displayed in the main point of "
"sale screen. Other buttons will be available by clicking on the button "
"'More...'"
msgstr ""
"Imposta nomi tecnici dei pulsanti che verranno visualizzati nella schermata "
"principale del punto vendita. Altri pulsanti saranno disponibili facendo "
"clic sul pulsante 'Altro...'"
#. module: pos_minimize_menu
#: model:ir.model.fields,help:pos_minimize_menu.field_pos_config__iface_important_buttons
#: model:ir.model.fields,help:pos_minimize_menu.field_res_config_settings__pos_iface_important_buttons
msgid ""
"Set technical names of buttons that will be displayed in the main point of "
"sale screen. Other buttons will be available by clicking on the button "
"'More...'."
msgstr ""
"Imposta nomi tecnici dei pulsanti che verranno visualizzati nella schermata "
"principale del punto vendita. Altri pulsanti saranno disponibili facendo "
"clic sul pulsante 'Altro...'."
#. module: pos_minimize_menu
#: model_terms:ir.ui.view,arch_db:pos_minimize_menu.view_res_config_settings_form
msgid "e.g. OrderlineCustomerNoteButton"
msgstr "es. OrderlineCustomerNoteButton"

View file

@ -0,0 +1,52 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * pos_minimize_menu
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Report-Msgid-Bugs-To: \n"
"Last-Translator: \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"
#. module: pos_minimize_menu
#: model:ir.model,name:pos_minimize_menu.model_res_config_settings
msgid "Config Settings"
msgstr ""
#. module: pos_minimize_menu
#: model:ir.model.fields,field_description:pos_minimize_menu.field_pos_config__iface_important_buttons
#: model:ir.model.fields,field_description:pos_minimize_menu.field_res_config_settings__pos_iface_important_buttons
msgid "Important Buttons"
msgstr ""
#. module: pos_minimize_menu
#: model:ir.model,name:pos_minimize_menu.model_pos_config
msgid "Point of Sale Configuration"
msgstr ""
#. module: pos_minimize_menu
#: model_terms:ir.ui.view,arch_db:pos_minimize_menu.view_res_config_settings_form
msgid ""
"Set technical names of buttons that will be displayed in the main point of "
"sale screen. Other buttons will be available by clicking on the button "
"'More...'"
msgstr ""
#. module: pos_minimize_menu
#: model:ir.model.fields,help:pos_minimize_menu.field_pos_config__iface_important_buttons
#: model:ir.model.fields,help:pos_minimize_menu.field_res_config_settings__pos_iface_important_buttons
msgid ""
"Set technical names of buttons that will be displayed in the main point of "
"sale screen. Other buttons will be available by clicking on the button "
"'More...'."
msgstr ""
#. module: pos_minimize_menu
#: model_terms:ir.ui.view,arch_db:pos_minimize_menu.view_res_config_settings_form
msgid "e.g. OrderlineCustomerNoteButton"
msgstr ""

View file

@ -0,0 +1,2 @@
from . import pos_config
from . import res_config_settings

View file

@ -0,0 +1,17 @@
# Copyright (C) 2023 - Today: GRAP (http://www.grap.coop)
# @author: Sylvain LE GAL (https://twitter.com/legalsylvain)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from odoo import fields, models
class PosConfig(models.Model):
_inherit = "pos.config"
iface_important_buttons = fields.Text(
string="Important Buttons",
help="Set technical names of buttons that will"
" be displayed in the main point of sale screen."
" Other buttons will be available by clicking"
" on the button 'More...'.",
)

View file

@ -0,0 +1,14 @@
# Copyright (C) 2023 - Today: GRAP (http://www.grap.coop)
# @author: Sylvain LE GAL (https://twitter.com/legalsylvain)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from odoo import fields, models
class ResConfigSettings(models.TransientModel):
_inherit = "res.config.settings"
pos_iface_important_buttons = fields.Text(
related="pos_config_id.iface_important_buttons",
readonly=False,
)

View file

@ -0,0 +1,23 @@
if you want to display in the main screen some important buttons:
* Go to 'Point of Sale > Configuration > Settings'
* Edit the field 'Important Buttons' and write the technical name of the buttons.
.. image:: ../static/img/configure_important_buttons.png
Here are for the official modules, the following possibles values:
* ``point_of_sale`` : ProductInfoButton, SetFiscalPositionButton, OrderlineCustomerNoteButton, SetPricelistButton, RefundButton
* ``pos_sale``: SetSaleOrderButton
* ``pos_discount``: DiscountButton
* ``pos_loyalty``: RewardButton, ResetProgramsButton, eWalletButton, PromoCodeButton
* ``pos_restaurant``: SplitBillButton, SubmitOrderButton, TransferOrderButton, PrintBillButton, TableGuestsButton, OrderlineNoteButton
As a result, selected buttons will be displayed in the main screen:
.. image:: ../static/img/important_buttons_displayed.png

View file

@ -0,0 +1 @@
* Sylvain LE GAL (https://twitter.com/legalsylvain)

View file

@ -0,0 +1,12 @@
This module allows you to minimize the placeholder that contains
all the options in main point of sale menu part.
It allows to have more place for the display of the current ticket.
**Without this module:**
.. image:: ../static/img/without_module.png
**with this module:**
.. image:: ../static/img/with_module.png

View file

@ -0,0 +1,2 @@
Technically, it provides the same UI for the desktop version
as for the mobile version.

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.2 KiB

View file

@ -0,0 +1,465 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="Docutils: https://docutils.sourceforge.io/" />
<title>Point of Sale - Minimize Menu</title>
<style type="text/css">
/*
:Author: David Goodger (goodger@python.org)
:Id: $Id: html4css1.css 8954 2022-01-20 10:10:25Z milde $
:Copyright: This stylesheet has been placed in the public domain.
Default cascading style sheet for the HTML output of Docutils.
See https://docutils.sourceforge.io/docs/howto/html-stylesheets.html for how to
customize this style sheet.
*/
/* used to remove borders from tables and images */
.borderless, table.borderless td, table.borderless th {
border: 0 }
table.borderless td, table.borderless th {
/* Override padding for "table.docutils td" with "! important".
The right padding separates the table cells. */
padding: 0 0.5em 0 0 ! important }
.first {
/* Override more specific margin styles with "! important". */
margin-top: 0 ! important }
.last, .with-subtitle {
margin-bottom: 0 ! important }
.hidden {
display: none }
.subscript {
vertical-align: sub;
font-size: smaller }
.superscript {
vertical-align: super;
font-size: smaller }
a.toc-backref {
text-decoration: none ;
color: black }
blockquote.epigraph {
margin: 2em 5em ; }
dl.docutils dd {
margin-bottom: 0.5em }
object[type="image/svg+xml"], object[type="application/x-shockwave-flash"] {
overflow: hidden;
}
/* Uncomment (and remove this text!) to get bold-faced definition list terms
dl.docutils dt {
font-weight: bold }
*/
div.abstract {
margin: 2em 5em }
div.abstract p.topic-title {
font-weight: bold ;
text-align: center }
div.admonition, div.attention, div.caution, div.danger, div.error,
div.hint, div.important, div.note, div.tip, div.warning {
margin: 2em ;
border: medium outset ;
padding: 1em }
div.admonition p.admonition-title, div.hint p.admonition-title,
div.important p.admonition-title, div.note p.admonition-title,
div.tip p.admonition-title {
font-weight: bold ;
font-family: sans-serif }
div.attention p.admonition-title, div.caution p.admonition-title,
div.danger p.admonition-title, div.error p.admonition-title,
div.warning p.admonition-title, .code .error {
color: red ;
font-weight: bold ;
font-family: sans-serif }
/* Uncomment (and remove this text!) to get reduced vertical space in
compound paragraphs.
div.compound .compound-first, div.compound .compound-middle {
margin-bottom: 0.5em }
div.compound .compound-last, div.compound .compound-middle {
margin-top: 0.5em }
*/
div.dedication {
margin: 2em 5em ;
text-align: center ;
font-style: italic }
div.dedication p.topic-title {
font-weight: bold ;
font-style: normal }
div.figure {
margin-left: 2em ;
margin-right: 2em }
div.footer, div.header {
clear: both;
font-size: smaller }
div.line-block {
display: block ;
margin-top: 1em ;
margin-bottom: 1em }
div.line-block div.line-block {
margin-top: 0 ;
margin-bottom: 0 ;
margin-left: 1.5em }
div.sidebar {
margin: 0 0 0.5em 1em ;
border: medium outset ;
padding: 1em ;
background-color: #ffffee ;
width: 40% ;
float: right ;
clear: right }
div.sidebar p.rubric {
font-family: sans-serif ;
font-size: medium }
div.system-messages {
margin: 5em }
div.system-messages h1 {
color: red }
div.system-message {
border: medium outset ;
padding: 1em }
div.system-message p.system-message-title {
color: red ;
font-weight: bold }
div.topic {
margin: 2em }
h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
margin-top: 0.4em }
h1.title {
text-align: center }
h2.subtitle {
text-align: center }
hr.docutils {
width: 75% }
img.align-left, .figure.align-left, object.align-left, table.align-left {
clear: left ;
float: left ;
margin-right: 1em }
img.align-right, .figure.align-right, object.align-right, table.align-right {
clear: right ;
float: right ;
margin-left: 1em }
img.align-center, .figure.align-center, object.align-center {
display: block;
margin-left: auto;
margin-right: auto;
}
table.align-center {
margin-left: auto;
margin-right: auto;
}
.align-left {
text-align: left }
.align-center {
clear: both ;
text-align: center }
.align-right {
text-align: right }
/* reset inner alignment in figures */
div.align-right {
text-align: inherit }
/* div.align-center * { */
/* text-align: left } */
.align-top {
vertical-align: top }
.align-middle {
vertical-align: middle }
.align-bottom {
vertical-align: bottom }
ol.simple, ul.simple {
margin-bottom: 1em }
ol.arabic {
list-style: decimal }
ol.loweralpha {
list-style: lower-alpha }
ol.upperalpha {
list-style: upper-alpha }
ol.lowerroman {
list-style: lower-roman }
ol.upperroman {
list-style: upper-roman }
p.attribution {
text-align: right ;
margin-left: 50% }
p.caption {
font-style: italic }
p.credits {
font-style: italic ;
font-size: smaller }
p.label {
white-space: nowrap }
p.rubric {
font-weight: bold ;
font-size: larger ;
color: maroon ;
text-align: center }
p.sidebar-title {
font-family: sans-serif ;
font-weight: bold ;
font-size: larger }
p.sidebar-subtitle {
font-family: sans-serif ;
font-weight: bold }
p.topic-title {
font-weight: bold }
pre.address {
margin-bottom: 0 ;
margin-top: 0 ;
font: inherit }
pre.literal-block, pre.doctest-block, pre.math, pre.code {
margin-left: 2em ;
margin-right: 2em }
pre.code .ln { color: grey; } /* line numbers */
pre.code, code { background-color: #eeeeee }
pre.code .comment, code .comment { color: #5C6576 }
pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold }
pre.code .literal.string, code .literal.string { color: #0C5404 }
pre.code .name.builtin, code .name.builtin { color: #352B84 }
pre.code .deleted, code .deleted { background-color: #DEB0A1}
pre.code .inserted, code .inserted { background-color: #A3D289}
span.classifier {
font-family: sans-serif ;
font-style: oblique }
span.classifier-delimiter {
font-family: sans-serif ;
font-weight: bold }
span.interpreted {
font-family: sans-serif }
span.option {
white-space: nowrap }
span.pre {
white-space: pre }
span.problematic {
color: red }
span.section-subtitle {
/* font-size relative to parent (h1..h6 element) */
font-size: 80% }
table.citation {
border-left: solid 1px gray;
margin-left: 1px }
table.docinfo {
margin: 2em 4em }
table.docutils {
margin-top: 0.5em ;
margin-bottom: 0.5em }
table.footnote {
border-left: solid 1px black;
margin-left: 1px }
table.docutils td, table.docutils th,
table.docinfo td, table.docinfo th {
padding-left: 0.5em ;
padding-right: 0.5em ;
vertical-align: top }
table.docutils th.field-name, table.docinfo th.docinfo-name {
font-weight: bold ;
text-align: left ;
white-space: nowrap ;
padding-left: 0 }
/* "booktabs" style (no vertical lines) */
table.docutils.booktabs {
border: 0px;
border-top: 2px solid;
border-bottom: 2px solid;
border-collapse: collapse;
}
table.docutils.booktabs * {
border: 0px;
}
table.docutils.booktabs th {
border-bottom: thin solid;
text-align: left;
}
h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
font-size: 100% }
ul.auto-toc {
list-style-type: none }
</style>
</head>
<body>
<div class="document" id="point-of-sale-minimize-menu">
<h1 class="title">Point of Sale - Minimize Menu</h1>
<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:bc36a1da44c6db76a0ff464f58f1511761851ac5673829cda4f6cb9efb53c881
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
<p><a class="reference external image-reference" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external image-reference" href="http://www.gnu.org/licenses/lgpl-3.0-standalone.html"><img alt="License: LGPL-3" src="https://img.shields.io/badge/licence-LGPL--3-blue.png" /></a> <a class="reference external image-reference" href="https://github.com/OCA/pos/tree/16.0/pos_minimize_menu"><img alt="OCA/pos" src="https://img.shields.io/badge/github-OCA%2Fpos-lightgray.png?logo=github" /></a> <a class="reference external image-reference" href="https://translation.odoo-community.org/projects/pos-16-0/pos-16-0-pos_minimize_menu"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external image-reference" href="https://runboat.odoo-community.org/builds?repo=OCA/pos&amp;target_branch=16.0"><img alt="Try me on Runboat" src="https://img.shields.io/badge/runboat-Try%20me-875A7B.png" /></a></p>
<p>This module allows you to minimize the placeholder that contains
all the options in main point of sale menu part.</p>
<p>It allows to have more place for the display of the current ticket.</p>
<p><strong>Without this module:</strong></p>
<blockquote>
<img alt="https://raw.githubusercontent.com/OCA/pos/16.0/pos_minimize_menu/static/img/without_module.png" src="https://raw.githubusercontent.com/OCA/pos/16.0/pos_minimize_menu/static/img/without_module.png" />
</blockquote>
<p><strong>with this module:</strong></p>
<blockquote>
<img alt="https://raw.githubusercontent.com/OCA/pos/16.0/pos_minimize_menu/static/img/with_module.png" src="https://raw.githubusercontent.com/OCA/pos/16.0/pos_minimize_menu/static/img/with_module.png" />
</blockquote>
<p><strong>Table of contents</strong></p>
<div class="contents local topic" id="contents">
<ul class="simple">
<li><a class="reference internal" href="#configuration" id="toc-entry-1">Configuration</a></li>
<li><a class="reference internal" href="#development" id="toc-entry-2">Development</a></li>
<li><a class="reference internal" href="#bug-tracker" id="toc-entry-3">Bug Tracker</a></li>
<li><a class="reference internal" href="#credits" id="toc-entry-4">Credits</a><ul>
<li><a class="reference internal" href="#authors" id="toc-entry-5">Authors</a></li>
<li><a class="reference internal" href="#contributors" id="toc-entry-6">Contributors</a></li>
<li><a class="reference internal" href="#maintainers" id="toc-entry-7">Maintainers</a></li>
</ul>
</li>
</ul>
</div>
<div class="section" id="configuration">
<h1><a class="toc-backref" href="#toc-entry-1">Configuration</a></h1>
<p>if you want to display in the main screen some important buttons:</p>
<ul>
<li><p class="first">Go to Point of Sale &gt; Configuration &gt; Settings</p>
</li>
<li><p class="first">Edit the field Important Buttons and write the technical name of the buttons.</p>
<img alt="https://raw.githubusercontent.com/OCA/pos/16.0/pos_minimize_menu/static/img/configure_important_buttons.png" src="https://raw.githubusercontent.com/OCA/pos/16.0/pos_minimize_menu/static/img/configure_important_buttons.png" />
</li>
</ul>
<p>Here are for the official modules, the following possibles values:</p>
<blockquote>
<ul class="simple">
<li><tt class="docutils literal">point_of_sale</tt> : ProductInfoButton, SetFiscalPositionButton, OrderlineCustomerNoteButton, SetPricelistButton, RefundButton</li>
<li><tt class="docutils literal">pos_sale</tt>: SetSaleOrderButton</li>
<li><tt class="docutils literal">pos_discount</tt>: DiscountButton</li>
<li><tt class="docutils literal">pos_loyalty</tt>: RewardButton, ResetProgramsButton, eWalletButton, PromoCodeButton</li>
<li><tt class="docutils literal">pos_restaurant</tt>: SplitBillButton, SubmitOrderButton, TransferOrderButton, PrintBillButton, TableGuestsButton, OrderlineNoteButton</li>
</ul>
</blockquote>
<p>As a result, selected buttons will be displayed in the main screen:</p>
<blockquote>
<img alt="https://raw.githubusercontent.com/OCA/pos/16.0/pos_minimize_menu/static/img/important_buttons_displayed.png" src="https://raw.githubusercontent.com/OCA/pos/16.0/pos_minimize_menu/static/img/important_buttons_displayed.png" />
</blockquote>
</div>
<div class="section" id="development">
<h1><a class="toc-backref" href="#toc-entry-2">Development</a></h1>
<p>Technically, it provides the same UI for the desktop version
as for the mobile version.</p>
</div>
<div class="section" id="bug-tracker">
<h1><a class="toc-backref" href="#toc-entry-3">Bug Tracker</a></h1>
<p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/pos/issues">GitHub Issues</a>.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us to smash it by providing a detailed and welcomed
<a class="reference external" href="https://github.com/OCA/pos/issues/new?body=module:%20pos_minimize_menu%0Aversion:%2016.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
<p>Do not contact contributors directly about support or help with technical issues.</p>
</div>
<div class="section" id="credits">
<h1><a class="toc-backref" href="#toc-entry-4">Credits</a></h1>
<div class="section" id="authors">
<h2><a class="toc-backref" href="#toc-entry-5">Authors</a></h2>
<ul class="simple">
<li>GRAP</li>
</ul>
</div>
<div class="section" id="contributors">
<h2><a class="toc-backref" href="#toc-entry-6">Contributors</a></h2>
<ul class="simple">
<li>Sylvain LE GAL (<a class="reference external" href="https://twitter.com/legalsylvain">https://twitter.com/legalsylvain</a>)</li>
</ul>
</div>
<div class="section" id="maintainers">
<h2><a class="toc-backref" href="#toc-entry-7">Maintainers</a></h2>
<p>This module is maintained by the OCA.</p>
<a class="reference external image-reference" href="https://odoo-community.org"><img alt="Odoo Community Association" src="https://odoo-community.org/logo.png" /></a>
<p>OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.</p>
<p>Current <a class="reference external" href="https://odoo-community.org/page/maintainer-role">maintainer</a>:</p>
<p><a class="reference external image-reference" href="https://github.com/legalsylvain"><img alt="legalsylvain" src="https://github.com/legalsylvain.png?size=40px" /></a></p>
<p>This module is part of the <a class="reference external" href="https://github.com/OCA/pos/tree/16.0/pos_minimize_menu">OCA/pos</a> project on GitHub.</p>
<p>You are welcome to contribute. To learn how please visit <a class="reference external" href="https://odoo-community.org/page/Contribute">https://odoo-community.org/page/Contribute</a>.</p>
</div>
</div>
</div>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 142 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 152 KiB

View file

@ -0,0 +1,27 @@
/*
Copyright (C) 2023 - Today: GRAP (http://www.grap.coop)
@author: Sylvain LE GAL (https://twitter.com/legalsylvain)
*/
odoo.define("pos_minimize_menu.ProductScreen", function (require) {
"use strict";
const ProductScreen = require("point_of_sale.ProductScreen");
const Registries = require("point_of_sale.Registries");
const OverloadProductScreen = (OriginalProductScreen) =>
class extends OriginalProductScreen {
get importantControlButtons() {
var importantButtons = [];
var important_names = this.env.pos.config.iface_important_buttons || "";
for (const button of this.controlButtons) {
if (important_names.includes(button.name)) {
importantButtons.push(button);
}
}
return importantButtons;
}
};
Registries.Component.extend(ProductScreen, OverloadProductScreen);
return ProductScreen;
});

View file

@ -0,0 +1,25 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!--
Copyright (C) 2023 - Today: GRAP (http://www.grap.coop)
@author: Sylvain LE GAL (https://twitter.com/legalsylvain)
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
-->
<templates id="template" xml:space="preserve">
<t
t-name="ProductScreen"
t-inherit="point_of_sale.ProductScreen"
t-inherit-mode="extension"
owl="1"
>
<xpath expr="//div[hasclass('control-buttons')]/t[1]" position="attributes">
<attribute name="t-if">controlButtons.length > 3</attribute>
</xpath>
<xpath expr="//div[hasclass('control-buttons')]/t[1]" position="inside">
<t t-foreach="importantControlButtons" t-as="cb" t-key="cb.name">
<t t-component="cb.component" t-key="cb.name" />
</t>
</xpath>
</t>
</templates>

View file

@ -0,0 +1,36 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!--
Copyright (C) 2023 - Today: GRAP (http://www.grap.coop)
@author Sylvain LE GAL (https://twitter.com/legalsylvain)
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
-->
<odoo>
<record id="view_res_config_settings_form" model="ir.ui.view">
<field name="model">res.config.settings</field>
<field name="inherit_id" ref="point_of_sale.res_config_settings_view_form" />
<field name="arch" type="xml">
<xpath
expr="//field[@name='pos_iface_big_scrollbars']/../.."
position="after"
>
<div class="col-xs-12 col-lg-6 o_setting_box" id="pos_minimize_menu">
<div class="o_setting_left_pane" />
<div class="o_setting_right_pane">
<label for="pos_iface_important_buttons" />
<div class="text-muted">
Set technical names of buttons that will be displayed in the main point of sale screen. Other buttons will be available by clicking on the button 'More...'
</div>
<div class="content-group mt16">
<field
name="pos_iface_important_buttons"
placeholder="e.g. OrderlineCustomerNoteButton"
/>
</div>
</div>
</div>
</xpath>
</field>
</record>
</odoo>