Browse Source
Merge pull request #437 from legalsylvain/12.0-mig-pos_customer_display
Merge pull request #437 from legalsylvain/12.0-mig-pos_customer_display
[MIG][12.0] mig pos_customer_displaypull/496/head
Alexis de Lattre
5 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
28 changed files with 1946 additions and 0 deletions
-
8pos_customer_display/README.rst
-
1pos_customer_display/__init__.py
-
19pos_customer_display/__manifest__.py
-
9pos_customer_display/demo/pos_config.xml
-
157pos_customer_display/i18n/de.po
-
168pos_customer_display/i18n/es.po
-
175pos_customer_display/i18n/fr.po
-
159pos_customer_display/i18n/hr_HR.po
-
157pos_customer_display/i18n/it.po
-
157pos_customer_display/i18n/nl.po
-
158pos_customer_display/i18n/nl_NL.po
-
173pos_customer_display/i18n/pos_customer_display.pot
-
1pos_customer_display/models/__init__.py
-
102pos_customer_display/models/pos_config.py
-
8pos_customer_display/readme/CONFIGURE.rst
-
5pos_customer_display/readme/CONTRIBUTORS.rst
-
10pos_customer_display/readme/DESCRIPTION.rst
-
7pos_customer_display/readme/INSTALL.rst
-
1pos_customer_display/readme/ROADMAP.rst
-
9pos_customer_display/readme/USAGE.rst
-
BINpos_customer_display/static/description/icon.png
-
111pos_customer_display/static/src/js/customer_display_2_20.js
-
88pos_customer_display/static/src/js/devices.js
-
24pos_customer_display/static/src/js/gui.js
-
128pos_customer_display/static/src/js/models.js
-
51pos_customer_display/static/src/js/screens.js
-
14pos_customer_display/views/assets.xml
-
46pos_customer_display/views/view_pos_config.xml
@ -0,0 +1,8 @@ |
|||||
|
==================================== |
||||
|
Point of Sale - LCD Customer Display |
||||
|
==================================== |
||||
|
|
||||
|
.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
||||
|
!! This file is generated by oca-gen-addon-readme !! |
||||
|
!! changes will be overwritten. !! |
||||
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
@ -0,0 +1 @@ |
|||||
|
from . import models |
@ -0,0 +1,19 @@ |
|||||
|
# © 2014-2016 Aurélien DUMAINE |
||||
|
# © 2014-2016 Akretion (Alexis de Lattre <alexis.delattre@akretion.com>) |
||||
|
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). |
||||
|
|
||||
|
{ |
||||
|
"name": "Point of Sale - LED Customer Display", |
||||
|
"version": "12.0.1.0.0", |
||||
|
"category": "Point Of Sale", |
||||
|
"summary": "Manage LED Customer Display device from POS front end", |
||||
|
"author": "Aurélien DUMAINE,GRAP,Akretion,Odoo Community Association (OCA)", |
||||
|
"license": "AGPL-3", |
||||
|
"depends": ["point_of_sale"], |
||||
|
"data": [ |
||||
|
"views/assets.xml", |
||||
|
"views/view_pos_config.xml", |
||||
|
], |
||||
|
"demo": ["demo/pos_config.xml"], |
||||
|
"installable": True, |
||||
|
} |
@ -0,0 +1,9 @@ |
|||||
|
<?xml version="1.0" encoding="utf-8"?> |
||||
|
|
||||
|
<odoo noupdate="1"> |
||||
|
|
||||
|
<record id="point_of_sale.pos_config_main" model="pos.config"> |
||||
|
<field name="iface_customer_display" eval="True"/> |
||||
|
</record> |
||||
|
|
||||
|
</odoo> |
@ -0,0 +1,157 @@ |
|||||
|
# Translation of Odoo Server. |
||||
|
# This file contains the translation of the following modules: |
||||
|
# * pos_customer_display |
||||
|
# |
||||
|
# Translators: |
||||
|
# OCA Transbot <transbot@odoo-community.org>, 2017 |
||||
|
msgid "" |
||||
|
msgstr "" |
||||
|
"Project-Id-Version: Odoo Server 10.0\n" |
||||
|
"Report-Msgid-Bugs-To: \n" |
||||
|
"POT-Creation-Date: 2017-04-25 02:39+0000\n" |
||||
|
"PO-Revision-Date: 2017-04-25 02:39+0000\n" |
||||
|
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n" |
||||
|
"Language-Team: German (https://www.transifex.com/oca/teams/23907/de/)\n" |
||||
|
"Language: de\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_customer_display |
||||
|
#: model:ir.ui.view,arch_db:pos_customer_display.view_pos_config_form |
||||
|
msgid "Bottom Line" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: model:ir.model.fields,help:pos_customer_display.field_pos_config_customer_display_msg_next_l2 |
||||
|
msgid "" |
||||
|
"Bottom line of the message on the customer display which is displayed after " |
||||
|
"starting POS and also after validation of an order" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: model:ir.model.fields,help:pos_customer_display.field_pos_config_customer_display_msg_closed_l2 |
||||
|
msgid "" |
||||
|
"Bottom line of the message on the customer display which is displayed when " |
||||
|
"POS is closed" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#. openerp-web |
||||
|
#: code:addons/pos_customer_display/static/src/js/customer_display.js:74 |
||||
|
#, python-format |
||||
|
msgid "Cancel Payment" |
||||
|
msgstr "Zahlung stornieren" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: model:ir.model.fields,field_description:pos_customer_display.field_pos_config_iface_customer_display |
||||
|
#: model:ir.ui.view,arch_db:pos_customer_display.view_pos_config_form |
||||
|
msgid "Customer Display" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#. openerp-web |
||||
|
#: code:addons/pos_customer_display/static/src/js/customer_display.js:59 |
||||
|
#, python-format |
||||
|
msgid "Delete Item" |
||||
|
msgstr "Artikel loeschen" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: model:ir.model.fields,help:pos_customer_display.field_pos_config_iface_customer_display |
||||
|
msgid "Display data on the customer display" |
||||
|
msgstr "Daten auf dem Kunden-Display anzeigen" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: model:ir.model.fields,help:pos_customer_display.field_pos_config_customer_display_line_length |
||||
|
msgid "Length of the LEDs lines of the customer display" |
||||
|
msgstr "Länge der LED-Zeilen auf dem Kunden-Display" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: model:ir.model.fields,field_description:pos_customer_display.field_pos_config_customer_display_line_length |
||||
|
msgid "Line Length of the Customer Display" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: code:addons/pos_customer_display/models/pos_customer_display.py:46 |
||||
|
#: model:ir.model.fields,field_description:pos_customer_display.field_pos_config_customer_display_msg_next_l2 |
||||
|
#, python-format |
||||
|
msgid "Next Customer (bottom line)" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: code:addons/pos_customer_display/models/pos_customer_display.py:44 |
||||
|
#: model:ir.model.fields,field_description:pos_customer_display.field_pos_config_customer_display_msg_next_l1 |
||||
|
#, python-format |
||||
|
msgid "Next Customer (top line)" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: model:ir.ui.view,arch_db:pos_customer_display.view_pos_config_form |
||||
|
msgid "Next Customer Message" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: code:addons/pos_customer_display/models/pos_customer_display.py:50 |
||||
|
#: model:ir.model.fields,field_description:pos_customer_display.field_pos_config_customer_display_msg_closed_l2 |
||||
|
#, python-format |
||||
|
msgid "POS Closed (bottom line)" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: code:addons/pos_customer_display/models/pos_customer_display.py:48 |
||||
|
#: model:ir.model.fields,field_description:pos_customer_display.field_pos_config_customer_display_msg_closed_l1 |
||||
|
#, python-format |
||||
|
msgid "POS Closed (top line)" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: model:ir.ui.view,arch_db:pos_customer_display.view_pos_config_form |
||||
|
msgid "POS Closed Message" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#. openerp-web |
||||
|
#: code:addons/pos_customer_display/static/src/js/customer_display.js:66 |
||||
|
#, python-format |
||||
|
msgid "TOTAL: " |
||||
|
msgstr "SUMME: " |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: code:addons/pos_customer_display/models/pos_customer_display.py:55 |
||||
|
#, python-format |
||||
|
msgid "" |
||||
|
"The message for customer display '%s' is too long: it has %d chars whereas " |
||||
|
"the maximum is %d chars." |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: model:ir.ui.view,arch_db:pos_customer_display.view_pos_config_form |
||||
|
msgid "Top Line" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: model:ir.model.fields,help:pos_customer_display.field_pos_config_customer_display_msg_next_l1 |
||||
|
msgid "" |
||||
|
"Top line of the message on the customer display which is displayed after " |
||||
|
"starting POS and also after validation of an order" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: model:ir.model.fields,help:pos_customer_display.field_pos_config_customer_display_msg_closed_l1 |
||||
|
msgid "" |
||||
|
"Top line of the message on the customer display which is displayed when POS " |
||||
|
"is closed" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#. openerp-web |
||||
|
#: code:addons/pos_customer_display/static/src/js/customer_display.js:81 |
||||
|
#, python-format |
||||
|
msgid "Your Change:" |
||||
|
msgstr "Rueckgeld:" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: model:ir.model,name:pos_customer_display.model_pos_config |
||||
|
msgid "pos.config" |
||||
|
msgstr "" |
@ -0,0 +1,168 @@ |
|||||
|
# Translation of Odoo Server. |
||||
|
# This file contains the translation of the following modules: |
||||
|
# * pos_customer_display |
||||
|
# |
||||
|
# Translators: |
||||
|
# enjolras <yo@miguelrevilla.com>, 2017 |
||||
|
# OCA Transbot <transbot@odoo-community.org>, 2017 |
||||
|
msgid "" |
||||
|
msgstr "" |
||||
|
"Project-Id-Version: Odoo Server 10.0\n" |
||||
|
"Report-Msgid-Bugs-To: \n" |
||||
|
"POT-Creation-Date: 2018-03-01 02:01+0000\n" |
||||
|
"PO-Revision-Date: 2018-03-01 02:01+0000\n" |
||||
|
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n" |
||||
|
"Language-Team: Spanish (https://www.transifex.com/oca/teams/23907/es/)\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" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: model:ir.ui.view,arch_db:pos_customer_display.view_pos_config_form |
||||
|
msgid "Bottom Line" |
||||
|
msgstr "Línea inferior" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: model:ir.model.fields,help:pos_customer_display.field_pos_config_customer_display_msg_next_l2 |
||||
|
msgid "" |
||||
|
"Bottom line of the message on the customer display which is displayed after " |
||||
|
"starting POS and also after validation of an order" |
||||
|
msgstr "" |
||||
|
"Línea inferior del mensaje en la pantalla del cliente que se mostrará " |
||||
|
"después de iniciar el TPV y también después de la validación de una venta" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: model:ir.model.fields,help:pos_customer_display.field_pos_config_customer_display_msg_closed_l2 |
||||
|
msgid "" |
||||
|
"Bottom line of the message on the customer display which is displayed when " |
||||
|
"POS is closed" |
||||
|
msgstr "" |
||||
|
"Línea inferior del mensaje en la pantalla del cliente que se mostrará cuando " |
||||
|
"se cierre el TPV" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#. openerp-web |
||||
|
#: code:addons/pos_customer_display/static/src/js/customer_display.js:74 |
||||
|
#, python-format |
||||
|
msgid "Cancel Payment" |
||||
|
msgstr "Cancelar pago" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: model:ir.model.fields,field_description:pos_customer_display.field_pos_config_iface_customer_display |
||||
|
#: model:ir.ui.view,arch_db:pos_customer_display.view_pos_config_form |
||||
|
msgid "Customer Display" |
||||
|
msgstr "Pantalla del cliente" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#. openerp-web |
||||
|
#: code:addons/pos_customer_display/static/src/js/customer_display.js:59 |
||||
|
#, python-format |
||||
|
msgid "Delete Item" |
||||
|
msgstr "Eliminar elemento" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: model:ir.model.fields,help:pos_customer_display.field_pos_config_iface_customer_display |
||||
|
msgid "Display data on the customer display" |
||||
|
msgstr "Mostrar información en la pantalla del cliente" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: model:ir.model.fields,help:pos_customer_display.field_pos_config_customer_display_line_length |
||||
|
msgid "Length of the LEDs lines of the customer display" |
||||
|
msgstr "Longitud de las líneas LED en la pantalla del cliente" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: model:ir.model.fields,field_description:pos_customer_display.field_pos_config_customer_display_line_length |
||||
|
msgid "Line Length of the Customer Display" |
||||
|
msgstr "Longitud de la línea en la pantalla del cliente" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: code:addons/pos_customer_display/models/pos_customer_display.py:46 |
||||
|
#: model:ir.model.fields,field_description:pos_customer_display.field_pos_config_customer_display_msg_next_l2 |
||||
|
#, python-format |
||||
|
msgid "Next Customer (bottom line)" |
||||
|
msgstr "Cliente siguiente (línea inferior)" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: code:addons/pos_customer_display/models/pos_customer_display.py:44 |
||||
|
#: model:ir.model.fields,field_description:pos_customer_display.field_pos_config_customer_display_msg_next_l1 |
||||
|
#, python-format |
||||
|
msgid "Next Customer (top line)" |
||||
|
msgstr "Cliente siguiente (línea superior)" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: model:ir.ui.view,arch_db:pos_customer_display.view_pos_config_form |
||||
|
msgid "Next Customer Message" |
||||
|
msgstr "Mensaje del cliente siguiente" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: code:addons/pos_customer_display/models/pos_customer_display.py:50 |
||||
|
#: model:ir.model.fields,field_description:pos_customer_display.field_pos_config_customer_display_msg_closed_l2 |
||||
|
#, python-format |
||||
|
msgid "POS Closed (bottom line)" |
||||
|
msgstr "TPV cerrado (línea inferior)" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: code:addons/pos_customer_display/models/pos_customer_display.py:48 |
||||
|
#: model:ir.model.fields,field_description:pos_customer_display.field_pos_config_customer_display_msg_closed_l1 |
||||
|
#, python-format |
||||
|
msgid "POS Closed (top line)" |
||||
|
msgstr "TPV cerrado (línea superior)" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: model:ir.ui.view,arch_db:pos_customer_display.view_pos_config_form |
||||
|
msgid "POS Closed Message" |
||||
|
msgstr "Mensaje de TPV cerrado" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#. openerp-web |
||||
|
#: code:addons/pos_customer_display/static/src/js/customer_display.js:66 |
||||
|
#, python-format |
||||
|
msgid "TOTAL: " |
||||
|
msgstr "TOTAL: " |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: code:addons/pos_customer_display/models/pos_customer_display.py:55 |
||||
|
#, python-format |
||||
|
msgid "" |
||||
|
"The message for customer display '%s' is too long: it has %d chars whereas " |
||||
|
"the maximum is %d chars." |
||||
|
msgstr "" |
||||
|
"El mensaje para la pantalla del cliente '%s' es demasiado largo: tiene %d " |
||||
|
"caracteres, siendo el máximo de %d." |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: model:ir.ui.view,arch_db:pos_customer_display.view_pos_config_form |
||||
|
msgid "Top Line" |
||||
|
msgstr "Línea superior" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: model:ir.model.fields,help:pos_customer_display.field_pos_config_customer_display_msg_next_l1 |
||||
|
msgid "" |
||||
|
"Top line of the message on the customer display which is displayed after " |
||||
|
"starting POS and also after validation of an order" |
||||
|
msgstr "" |
||||
|
"Línea superior del mensaje en la pantalla del cliente que se mostrará " |
||||
|
"después de iniciar el TPV y también después de la validación de una venta" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: model:ir.model.fields,help:pos_customer_display.field_pos_config_customer_display_msg_closed_l1 |
||||
|
msgid "" |
||||
|
"Top line of the message on the customer display which is displayed when POS " |
||||
|
"is closed" |
||||
|
msgstr "" |
||||
|
"Línea superior del mensaje en la pantalla del cliente que se mostrará cuando " |
||||
|
"se cierre el TPV" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#. openerp-web |
||||
|
#: code:addons/pos_customer_display/static/src/js/customer_display.js:81 |
||||
|
#, python-format |
||||
|
msgid "Your Change:" |
||||
|
msgstr "Cambio: " |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: model:ir.model,name:pos_customer_display.model_pos_config |
||||
|
msgid "pos.config" |
||||
|
msgstr "pos.config" |
@ -0,0 +1,175 @@ |
|||||
|
# Translation of Odoo Server. |
||||
|
# This file contains the translation of the following modules: |
||||
|
# * pos_customer_display |
||||
|
# |
||||
|
msgid "" |
||||
|
msgstr "" |
||||
|
"Project-Id-Version: Odoo Server 12.0\n" |
||||
|
"Report-Msgid-Bugs-To: \n" |
||||
|
"POT-Creation-Date: 2020-01-11 23:50+0000\n" |
||||
|
"PO-Revision-Date: 2020-01-11 23:50+0000\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_customer_display |
||||
|
#: selection:pos.config,customer_display_format:0 |
||||
|
msgid "2 Lines of 20 Characters" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#. openerp-web |
||||
|
#: code:addons/pos_customer_display/static/src/js/customer_display_2_20.js:94 |
||||
|
#, python-format |
||||
|
msgid "Customer Account" |
||||
|
msgstr "Compte client" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: model:ir.model.fields,field_description:pos_customer_display.field_pos_config__customer_display_format |
||||
|
#: model_terms:ir.ui.view,arch_db:pos_customer_display.view_pos_config_form |
||||
|
msgid "Customer Display Format" |
||||
|
msgstr "Format de l'afficheur client" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#. openerp-web |
||||
|
#: code:addons/pos_customer_display/static/src/js/customer_display_2_20.js:61 |
||||
|
#, python-format |
||||
|
msgid "Deleting Line ..." |
||||
|
msgstr "Suppression ligne" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: model:ir.model.fields,help:pos_customer_display.field_pos_config__iface_customer_display |
||||
|
msgid "Display data on the customer display" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: model:ir.model.fields,help:pos_customer_display.field_pos_config__customer_display_msg_next_l1 |
||||
|
msgid "First line of the message on the customer display which is displayed after starting POS and also after validation of an order" |
||||
|
msgstr "Première ligne du message de l'afficheur client qui est affiché après le " |
||||
|
"démarrage de la caisse et également après validation d'une commande client" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: model:ir.model.fields,help:pos_customer_display.field_pos_config__customer_display_msg_closed_l1 |
||||
|
msgid "First line of the message on the customer display which is displayed when POS is closed" |
||||
|
msgstr "Première ligne du message de l'afficheur client qui est affiché quand la " |
||||
|
"caisse est fermée" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: model:ir.model.fields,field_description:pos_customer_display.field_pos_config__iface_customer_display |
||||
|
#: model_terms:ir.ui.view,arch_db:pos_customer_display.view_pos_config_form |
||||
|
msgid "LED Customer Display" |
||||
|
msgstr "Afficheur client LED" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: model:ir.model.fields,help:pos_customer_display.field_pos_config__customer_display_line_length |
||||
|
msgid "Length of the LEDs lines of the customer display" |
||||
|
msgstr "Longueur des lignes de l'afficheur client (nombre de caractères)" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: model:ir.model.fields,field_description:pos_customer_display.field_pos_config__customer_display_line_length |
||||
|
#: model_terms:ir.ui.view,arch_db:pos_customer_display.view_pos_config_form |
||||
|
msgid "Line Length" |
||||
|
msgstr "Longueur des lignes" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: model:ir.model.fields,field_description:pos_customer_display.field_pos_config__customer_display_msg_next_l1 |
||||
|
#: model_terms:ir.ui.view,arch_db:pos_customer_display.view_pos_config_form |
||||
|
msgid "Next Customer (Line 1)" |
||||
|
msgstr "Client suivant (ligne 1)" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: model:ir.model.fields,field_description:pos_customer_display.field_pos_config__customer_display_msg_next_l2 |
||||
|
#: model_terms:ir.ui.view,arch_db:pos_customer_display.view_pos_config_form |
||||
|
msgid "Next Customer (Line 2)" |
||||
|
msgstr "Client suivant (ligne 2)" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#. openerp-web |
||||
|
#: code:addons/pos_customer_display/static/src/js/customer_display_2_20.js:99 |
||||
|
#, python-format |
||||
|
msgid "No Customer Account" |
||||
|
msgstr "Client non défini" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: model:ir.model.fields,field_description:pos_customer_display.field_pos_config__customer_display_msg_closed_l1 |
||||
|
#: model_terms:ir.ui.view,arch_db:pos_customer_display.view_pos_config_form |
||||
|
msgid "PoS Closed (Line 1)" |
||||
|
msgstr "Caisse fermée (Ligne 1)" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: model:ir.model.fields,field_description:pos_customer_display.field_pos_config__customer_display_msg_closed_l2 |
||||
|
#: model_terms:ir.ui.view,arch_db:pos_customer_display.view_pos_config_form |
||||
|
msgid "PoS Closed (Line 2)" |
||||
|
msgstr "Caisse fermée (Ligne 2)" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: code:addons/pos_customer_display/models/pos_config.py:64 |
||||
|
#, python-format |
||||
|
msgid "Point of Sale Closed" |
||||
|
msgstr "Caisse fermée" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: model:ir.model,name:pos_customer_display.model_pos_config |
||||
|
msgid "Point of Sale Configuration" |
||||
|
msgstr "Paramétrage du point de vente" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: code:addons/pos_customer_display/models/pos_config.py:60 |
||||
|
#, python-format |
||||
|
msgid "Point of Sale Open" |
||||
|
msgstr "Caisse ouverte" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#. openerp-web |
||||
|
#: code:addons/pos_customer_display/static/src/js/customer_display_2_20.js:81 |
||||
|
#, python-format |
||||
|
msgid "Returned: " |
||||
|
msgstr "A rendre : " |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: model:ir.model.fields,help:pos_customer_display.field_pos_config__customer_display_msg_next_l2 |
||||
|
msgid "Second line of the message on the customer display which is displayed after starting POS and also after validation of an order" |
||||
|
msgstr "Deuxième ligne du message de l'afficheur client qui est affiché après le " |
||||
|
"démarrage de la caisse et également après validation d'une commande client" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: model:ir.model.fields,help:pos_customer_display.field_pos_config__customer_display_msg_closed_l2 |
||||
|
msgid "Second line of the message on the customer display which is displayed when POS is closed" |
||||
|
msgstr "Deuxième ligne du message de l'afficheur client qui est affiché quand la " |
||||
|
"caisse est fermée" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: code:addons/pos_customer_display/models/pos_config.py:66 |
||||
|
#, python-format |
||||
|
msgid "See you soon!" |
||||
|
msgstr "Au revoir !" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: code:addons/pos_customer_display/models/pos_config.py:93 |
||||
|
#, python-format |
||||
|
msgid "The message for customer display '%s' is too long: it has %d chars whereas the maximum is %d chars." |
||||
|
msgstr "Le message de l'afficheur client '%s' est trop long : il contient %d " |
||||
|
"caractères alors que le maximum est de %d caractères." |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#. openerp-web |
||||
|
#: code:addons/pos_customer_display/static/src/js/customer_display_2_20.js:79 |
||||
|
#, python-format |
||||
|
msgid "To Pay: " |
||||
|
msgstr "A payer : " |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#. openerp-web |
||||
|
#: code:addons/pos_customer_display/static/src/js/customer_display_2_20.js:86 |
||||
|
#, python-format |
||||
|
msgid "Total" |
||||
|
msgstr "Total" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: code:addons/pos_customer_display/models/pos_config.py:62 |
||||
|
#, python-format |
||||
|
msgid "Welcome!" |
||||
|
msgstr "Bienvenue !" |
@ -0,0 +1,159 @@ |
|||||
|
# Translation of Odoo Server. |
||||
|
# This file contains the translation of the following modules: |
||||
|
# * pos_customer_display |
||||
|
# |
||||
|
# Translators: |
||||
|
# Bole <bole@dajmi5.com>, 2017 |
||||
|
msgid "" |
||||
|
msgstr "" |
||||
|
"Project-Id-Version: Odoo Server 10.0\n" |
||||
|
"Report-Msgid-Bugs-To: \n" |
||||
|
"POT-Creation-Date: 2017-04-25 02:39+0000\n" |
||||
|
"PO-Revision-Date: 2017-04-25 02:39+0000\n" |
||||
|
"Last-Translator: Bole <bole@dajmi5.com>, 2017\n" |
||||
|
"Language-Team: Croatian (Croatia) (https://www.transifex.com/oca/teams/23907/" |
||||
|
"hr_HR/)\n" |
||||
|
"Language: hr_HR\n" |
||||
|
"MIME-Version: 1.0\n" |
||||
|
"Content-Type: text/plain; charset=UTF-8\n" |
||||
|
"Content-Transfer-Encoding: \n" |
||||
|
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" |
||||
|
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: model:ir.ui.view,arch_db:pos_customer_display.view_pos_config_form |
||||
|
msgid "Bottom Line" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: model:ir.model.fields,help:pos_customer_display.field_pos_config_customer_display_msg_next_l2 |
||||
|
msgid "" |
||||
|
"Bottom line of the message on the customer display which is displayed after " |
||||
|
"starting POS and also after validation of an order" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: model:ir.model.fields,help:pos_customer_display.field_pos_config_customer_display_msg_closed_l2 |
||||
|
msgid "" |
||||
|
"Bottom line of the message on the customer display which is displayed when " |
||||
|
"POS is closed" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#. openerp-web |
||||
|
#: code:addons/pos_customer_display/static/src/js/customer_display.js:74 |
||||
|
#, python-format |
||||
|
msgid "Cancel Payment" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: model:ir.model.fields,field_description:pos_customer_display.field_pos_config_iface_customer_display |
||||
|
#: model:ir.ui.view,arch_db:pos_customer_display.view_pos_config_form |
||||
|
msgid "Customer Display" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#. openerp-web |
||||
|
#: code:addons/pos_customer_display/static/src/js/customer_display.js:59 |
||||
|
#, python-format |
||||
|
msgid "Delete Item" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: model:ir.model.fields,help:pos_customer_display.field_pos_config_iface_customer_display |
||||
|
msgid "Display data on the customer display" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: model:ir.model.fields,help:pos_customer_display.field_pos_config_customer_display_line_length |
||||
|
msgid "Length of the LEDs lines of the customer display" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: model:ir.model.fields,field_description:pos_customer_display.field_pos_config_customer_display_line_length |
||||
|
msgid "Line Length of the Customer Display" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: code:addons/pos_customer_display/models/pos_customer_display.py:46 |
||||
|
#: model:ir.model.fields,field_description:pos_customer_display.field_pos_config_customer_display_msg_next_l2 |
||||
|
#, python-format |
||||
|
msgid "Next Customer (bottom line)" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: code:addons/pos_customer_display/models/pos_customer_display.py:44 |
||||
|
#: model:ir.model.fields,field_description:pos_customer_display.field_pos_config_customer_display_msg_next_l1 |
||||
|
#, python-format |
||||
|
msgid "Next Customer (top line)" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: model:ir.ui.view,arch_db:pos_customer_display.view_pos_config_form |
||||
|
msgid "Next Customer Message" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: code:addons/pos_customer_display/models/pos_customer_display.py:50 |
||||
|
#: model:ir.model.fields,field_description:pos_customer_display.field_pos_config_customer_display_msg_closed_l2 |
||||
|
#, python-format |
||||
|
msgid "POS Closed (bottom line)" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: code:addons/pos_customer_display/models/pos_customer_display.py:48 |
||||
|
#: model:ir.model.fields,field_description:pos_customer_display.field_pos_config_customer_display_msg_closed_l1 |
||||
|
#, python-format |
||||
|
msgid "POS Closed (top line)" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: model:ir.ui.view,arch_db:pos_customer_display.view_pos_config_form |
||||
|
msgid "POS Closed Message" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#. openerp-web |
||||
|
#: code:addons/pos_customer_display/static/src/js/customer_display.js:66 |
||||
|
#, python-format |
||||
|
msgid "TOTAL: " |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: code:addons/pos_customer_display/models/pos_customer_display.py:55 |
||||
|
#, python-format |
||||
|
msgid "" |
||||
|
"The message for customer display '%s' is too long: it has %d chars whereas " |
||||
|
"the maximum is %d chars." |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: model:ir.ui.view,arch_db:pos_customer_display.view_pos_config_form |
||||
|
msgid "Top Line" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: model:ir.model.fields,help:pos_customer_display.field_pos_config_customer_display_msg_next_l1 |
||||
|
msgid "" |
||||
|
"Top line of the message on the customer display which is displayed after " |
||||
|
"starting POS and also after validation of an order" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: model:ir.model.fields,help:pos_customer_display.field_pos_config_customer_display_msg_closed_l1 |
||||
|
msgid "" |
||||
|
"Top line of the message on the customer display which is displayed when POS " |
||||
|
"is closed" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#. openerp-web |
||||
|
#: code:addons/pos_customer_display/static/src/js/customer_display.js:81 |
||||
|
#, python-format |
||||
|
msgid "Your Change:" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: model:ir.model,name:pos_customer_display.model_pos_config |
||||
|
msgid "pos.config" |
||||
|
msgstr "pos.config" |
@ -0,0 +1,157 @@ |
|||||
|
# Translation of Odoo Server. |
||||
|
# This file contains the translation of the following modules: |
||||
|
# * pos_customer_display |
||||
|
# |
||||
|
# Translators: |
||||
|
# Francesco Fresta <franco.fresta@gmail.com>, 2018 |
||||
|
msgid "" |
||||
|
msgstr "" |
||||
|
"Project-Id-Version: Odoo Server 10.0\n" |
||||
|
"Report-Msgid-Bugs-To: \n" |
||||
|
"POT-Creation-Date: 2018-03-01 02:01+0000\n" |
||||
|
"PO-Revision-Date: 2018-03-01 02:01+0000\n" |
||||
|
"Last-Translator: Francesco Fresta <franco.fresta@gmail.com>, 2018\n" |
||||
|
"Language-Team: Italian (https://www.transifex.com/oca/teams/23907/it/)\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" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: model:ir.ui.view,arch_db:pos_customer_display.view_pos_config_form |
||||
|
msgid "Bottom Line" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: model:ir.model.fields,help:pos_customer_display.field_pos_config_customer_display_msg_next_l2 |
||||
|
msgid "" |
||||
|
"Bottom line of the message on the customer display which is displayed after " |
||||
|
"starting POS and also after validation of an order" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: model:ir.model.fields,help:pos_customer_display.field_pos_config_customer_display_msg_closed_l2 |
||||
|
msgid "" |
||||
|
"Bottom line of the message on the customer display which is displayed when " |
||||
|
"POS is closed" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#. openerp-web |
||||
|
#: code:addons/pos_customer_display/static/src/js/customer_display.js:74 |
||||
|
#, python-format |
||||
|
msgid "Cancel Payment" |
||||
|
msgstr "Cancella pagamento" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: model:ir.model.fields,field_description:pos_customer_display.field_pos_config_iface_customer_display |
||||
|
#: model:ir.ui.view,arch_db:pos_customer_display.view_pos_config_form |
||||
|
msgid "Customer Display" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#. openerp-web |
||||
|
#: code:addons/pos_customer_display/static/src/js/customer_display.js:59 |
||||
|
#, python-format |
||||
|
msgid "Delete Item" |
||||
|
msgstr "Elimina articolo" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: model:ir.model.fields,help:pos_customer_display.field_pos_config_iface_customer_display |
||||
|
msgid "Display data on the customer display" |
||||
|
msgstr "Mostra la data sullo schermo del cliente" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: model:ir.model.fields,help:pos_customer_display.field_pos_config_customer_display_line_length |
||||
|
msgid "Length of the LEDs lines of the customer display" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: model:ir.model.fields,field_description:pos_customer_display.field_pos_config_customer_display_line_length |
||||
|
msgid "Line Length of the Customer Display" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: code:addons/pos_customer_display/models/pos_customer_display.py:46 |
||||
|
#: model:ir.model.fields,field_description:pos_customer_display.field_pos_config_customer_display_msg_next_l2 |
||||
|
#, python-format |
||||
|
msgid "Next Customer (bottom line)" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: code:addons/pos_customer_display/models/pos_customer_display.py:44 |
||||
|
#: model:ir.model.fields,field_description:pos_customer_display.field_pos_config_customer_display_msg_next_l1 |
||||
|
#, python-format |
||||
|
msgid "Next Customer (top line)" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: model:ir.ui.view,arch_db:pos_customer_display.view_pos_config_form |
||||
|
msgid "Next Customer Message" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: code:addons/pos_customer_display/models/pos_customer_display.py:50 |
||||
|
#: model:ir.model.fields,field_description:pos_customer_display.field_pos_config_customer_display_msg_closed_l2 |
||||
|
#, python-format |
||||
|
msgid "POS Closed (bottom line)" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: code:addons/pos_customer_display/models/pos_customer_display.py:48 |
||||
|
#: model:ir.model.fields,field_description:pos_customer_display.field_pos_config_customer_display_msg_closed_l1 |
||||
|
#, python-format |
||||
|
msgid "POS Closed (top line)" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: model:ir.ui.view,arch_db:pos_customer_display.view_pos_config_form |
||||
|
msgid "POS Closed Message" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#. openerp-web |
||||
|
#: code:addons/pos_customer_display/static/src/js/customer_display.js:66 |
||||
|
#, python-format |
||||
|
msgid "TOTAL: " |
||||
|
msgstr "TOTALE:" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: code:addons/pos_customer_display/models/pos_customer_display.py:55 |
||||
|
#, python-format |
||||
|
msgid "" |
||||
|
"The message for customer display '%s' is too long: it has %d chars whereas " |
||||
|
"the maximum is %d chars." |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: model:ir.ui.view,arch_db:pos_customer_display.view_pos_config_form |
||||
|
msgid "Top Line" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: model:ir.model.fields,help:pos_customer_display.field_pos_config_customer_display_msg_next_l1 |
||||
|
msgid "" |
||||
|
"Top line of the message on the customer display which is displayed after " |
||||
|
"starting POS and also after validation of an order" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: model:ir.model.fields,help:pos_customer_display.field_pos_config_customer_display_msg_closed_l1 |
||||
|
msgid "" |
||||
|
"Top line of the message on the customer display which is displayed when POS " |
||||
|
"is closed" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#. openerp-web |
||||
|
#: code:addons/pos_customer_display/static/src/js/customer_display.js:81 |
||||
|
#, python-format |
||||
|
msgid "Your Change:" |
||||
|
msgstr "Resto: " |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: model:ir.model,name:pos_customer_display.model_pos_config |
||||
|
msgid "pos.config" |
||||
|
msgstr "pos.config" |
@ -0,0 +1,157 @@ |
|||||
|
# Translation of Odoo Server. |
||||
|
# This file contains the translation of the following modules: |
||||
|
# * pos_customer_display |
||||
|
# |
||||
|
# Translators: |
||||
|
# OCA Transbot <transbot@odoo-community.org>, 2017 |
||||
|
msgid "" |
||||
|
msgstr "" |
||||
|
"Project-Id-Version: Odoo Server 10.0\n" |
||||
|
"Report-Msgid-Bugs-To: \n" |
||||
|
"POT-Creation-Date: 2017-04-25 02:39+0000\n" |
||||
|
"PO-Revision-Date: 2017-04-25 02:39+0000\n" |
||||
|
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n" |
||||
|
"Language-Team: Dutch (https://www.transifex.com/oca/teams/23907/nl/)\n" |
||||
|
"Language: nl\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_customer_display |
||||
|
#: model:ir.ui.view,arch_db:pos_customer_display.view_pos_config_form |
||||
|
msgid "Bottom Line" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: model:ir.model.fields,help:pos_customer_display.field_pos_config_customer_display_msg_next_l2 |
||||
|
msgid "" |
||||
|
"Bottom line of the message on the customer display which is displayed after " |
||||
|
"starting POS and also after validation of an order" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: model:ir.model.fields,help:pos_customer_display.field_pos_config_customer_display_msg_closed_l2 |
||||
|
msgid "" |
||||
|
"Bottom line of the message on the customer display which is displayed when " |
||||
|
"POS is closed" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#. openerp-web |
||||
|
#: code:addons/pos_customer_display/static/src/js/customer_display.js:74 |
||||
|
#, python-format |
||||
|
msgid "Cancel Payment" |
||||
|
msgstr "Annuleren Betaling" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: model:ir.model.fields,field_description:pos_customer_display.field_pos_config_iface_customer_display |
||||
|
#: model:ir.ui.view,arch_db:pos_customer_display.view_pos_config_form |
||||
|
msgid "Customer Display" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#. openerp-web |
||||
|
#: code:addons/pos_customer_display/static/src/js/customer_display.js:59 |
||||
|
#, python-format |
||||
|
msgid "Delete Item" |
||||
|
msgstr "Verwijderen Item" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: model:ir.model.fields,help:pos_customer_display.field_pos_config_iface_customer_display |
||||
|
msgid "Display data on the customer display" |
||||
|
msgstr "Weergeven gegevens op het klant scherm" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: model:ir.model.fields,help:pos_customer_display.field_pos_config_customer_display_line_length |
||||
|
msgid "Length of the LEDs lines of the customer display" |
||||
|
msgstr "Lengte van de LED lijnen van het klant scherm" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: model:ir.model.fields,field_description:pos_customer_display.field_pos_config_customer_display_line_length |
||||
|
msgid "Line Length of the Customer Display" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: code:addons/pos_customer_display/models/pos_customer_display.py:46 |
||||
|
#: model:ir.model.fields,field_description:pos_customer_display.field_pos_config_customer_display_msg_next_l2 |
||||
|
#, python-format |
||||
|
msgid "Next Customer (bottom line)" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: code:addons/pos_customer_display/models/pos_customer_display.py:44 |
||||
|
#: model:ir.model.fields,field_description:pos_customer_display.field_pos_config_customer_display_msg_next_l1 |
||||
|
#, python-format |
||||
|
msgid "Next Customer (top line)" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: model:ir.ui.view,arch_db:pos_customer_display.view_pos_config_form |
||||
|
msgid "Next Customer Message" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: code:addons/pos_customer_display/models/pos_customer_display.py:50 |
||||
|
#: model:ir.model.fields,field_description:pos_customer_display.field_pos_config_customer_display_msg_closed_l2 |
||||
|
#, python-format |
||||
|
msgid "POS Closed (bottom line)" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: code:addons/pos_customer_display/models/pos_customer_display.py:48 |
||||
|
#: model:ir.model.fields,field_description:pos_customer_display.field_pos_config_customer_display_msg_closed_l1 |
||||
|
#, python-format |
||||
|
msgid "POS Closed (top line)" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: model:ir.ui.view,arch_db:pos_customer_display.view_pos_config_form |
||||
|
msgid "POS Closed Message" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#. openerp-web |
||||
|
#: code:addons/pos_customer_display/static/src/js/customer_display.js:66 |
||||
|
#, python-format |
||||
|
msgid "TOTAL: " |
||||
|
msgstr "TOTAAL:" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: code:addons/pos_customer_display/models/pos_customer_display.py:55 |
||||
|
#, python-format |
||||
|
msgid "" |
||||
|
"The message for customer display '%s' is too long: it has %d chars whereas " |
||||
|
"the maximum is %d chars." |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: model:ir.ui.view,arch_db:pos_customer_display.view_pos_config_form |
||||
|
msgid "Top Line" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: model:ir.model.fields,help:pos_customer_display.field_pos_config_customer_display_msg_next_l1 |
||||
|
msgid "" |
||||
|
"Top line of the message on the customer display which is displayed after " |
||||
|
"starting POS and also after validation of an order" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: model:ir.model.fields,help:pos_customer_display.field_pos_config_customer_display_msg_closed_l1 |
||||
|
msgid "" |
||||
|
"Top line of the message on the customer display which is displayed when POS " |
||||
|
"is closed" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#. openerp-web |
||||
|
#: code:addons/pos_customer_display/static/src/js/customer_display.js:81 |
||||
|
#, python-format |
||||
|
msgid "Your Change:" |
||||
|
msgstr "Wisselgeld:" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: model:ir.model,name:pos_customer_display.model_pos_config |
||||
|
msgid "pos.config" |
||||
|
msgstr "" |
@ -0,0 +1,158 @@ |
|||||
|
# Translation of Odoo Server. |
||||
|
# This file contains the translation of the following modules: |
||||
|
# * pos_customer_display |
||||
|
# |
||||
|
# Translators: |
||||
|
# Peter Hageman <hageman.p@gmail.com>, 2017 |
||||
|
msgid "" |
||||
|
msgstr "" |
||||
|
"Project-Id-Version: Odoo Server 10.0\n" |
||||
|
"Report-Msgid-Bugs-To: \n" |
||||
|
"POT-Creation-Date: 2017-05-30 02:44+0000\n" |
||||
|
"PO-Revision-Date: 2017-05-30 02:44+0000\n" |
||||
|
"Last-Translator: Peter Hageman <hageman.p@gmail.com>, 2017\n" |
||||
|
"Language-Team: Dutch (Netherlands) (https://www.transifex.com/oca/" |
||||
|
"teams/23907/nl_NL/)\n" |
||||
|
"Language: nl_NL\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_customer_display |
||||
|
#: model:ir.ui.view,arch_db:pos_customer_display.view_pos_config_form |
||||
|
msgid "Bottom Line" |
||||
|
msgstr "Onderste regel" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: model:ir.model.fields,help:pos_customer_display.field_pos_config_customer_display_msg_next_l2 |
||||
|
msgid "" |
||||
|
"Bottom line of the message on the customer display which is displayed after " |
||||
|
"starting POS and also after validation of an order" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: model:ir.model.fields,help:pos_customer_display.field_pos_config_customer_display_msg_closed_l2 |
||||
|
msgid "" |
||||
|
"Bottom line of the message on the customer display which is displayed when " |
||||
|
"POS is closed" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#. openerp-web |
||||
|
#: code:addons/pos_customer_display/static/src/js/customer_display.js:74 |
||||
|
#, python-format |
||||
|
msgid "Cancel Payment" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: model:ir.model.fields,field_description:pos_customer_display.field_pos_config_iface_customer_display |
||||
|
#: model:ir.ui.view,arch_db:pos_customer_display.view_pos_config_form |
||||
|
msgid "Customer Display" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#. openerp-web |
||||
|
#: code:addons/pos_customer_display/static/src/js/customer_display.js:59 |
||||
|
#, python-format |
||||
|
msgid "Delete Item" |
||||
|
msgstr "Verwijder Item" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: model:ir.model.fields,help:pos_customer_display.field_pos_config_iface_customer_display |
||||
|
msgid "Display data on the customer display" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: model:ir.model.fields,help:pos_customer_display.field_pos_config_customer_display_line_length |
||||
|
msgid "Length of the LEDs lines of the customer display" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: model:ir.model.fields,field_description:pos_customer_display.field_pos_config_customer_display_line_length |
||||
|
msgid "Line Length of the Customer Display" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: code:addons/pos_customer_display/models/pos_customer_display.py:46 |
||||
|
#: model:ir.model.fields,field_description:pos_customer_display.field_pos_config_customer_display_msg_next_l2 |
||||
|
#, python-format |
||||
|
msgid "Next Customer (bottom line)" |
||||
|
msgstr "Volgende Klant (onderste regel)" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: code:addons/pos_customer_display/models/pos_customer_display.py:44 |
||||
|
#: model:ir.model.fields,field_description:pos_customer_display.field_pos_config_customer_display_msg_next_l1 |
||||
|
#, python-format |
||||
|
msgid "Next Customer (top line)" |
||||
|
msgstr "Volgende Klant (bovenste regel)" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: model:ir.ui.view,arch_db:pos_customer_display.view_pos_config_form |
||||
|
msgid "Next Customer Message" |
||||
|
msgstr "Volgende klant bericht" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: code:addons/pos_customer_display/models/pos_customer_display.py:50 |
||||
|
#: model:ir.model.fields,field_description:pos_customer_display.field_pos_config_customer_display_msg_closed_l2 |
||||
|
#, python-format |
||||
|
msgid "POS Closed (bottom line)" |
||||
|
msgstr "Kassa gesloten (onderste regel)" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: code:addons/pos_customer_display/models/pos_customer_display.py:48 |
||||
|
#: model:ir.model.fields,field_description:pos_customer_display.field_pos_config_customer_display_msg_closed_l1 |
||||
|
#, python-format |
||||
|
msgid "POS Closed (top line)" |
||||
|
msgstr "Kassa Gesloten (bovenste regel)" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: model:ir.ui.view,arch_db:pos_customer_display.view_pos_config_form |
||||
|
msgid "POS Closed Message" |
||||
|
msgstr "Kassa Gesloten Bericht" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#. openerp-web |
||||
|
#: code:addons/pos_customer_display/static/src/js/customer_display.js:66 |
||||
|
#, python-format |
||||
|
msgid "TOTAL: " |
||||
|
msgstr "Totaal:" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: code:addons/pos_customer_display/models/pos_customer_display.py:55 |
||||
|
#, python-format |
||||
|
msgid "" |
||||
|
"The message for customer display '%s' is too long: it has %d chars whereas " |
||||
|
"the maximum is %d chars." |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: model:ir.ui.view,arch_db:pos_customer_display.view_pos_config_form |
||||
|
msgid "Top Line" |
||||
|
msgstr "Bovenste regel" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: model:ir.model.fields,help:pos_customer_display.field_pos_config_customer_display_msg_next_l1 |
||||
|
msgid "" |
||||
|
"Top line of the message on the customer display which is displayed after " |
||||
|
"starting POS and also after validation of an order" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: model:ir.model.fields,help:pos_customer_display.field_pos_config_customer_display_msg_closed_l1 |
||||
|
msgid "" |
||||
|
"Top line of the message on the customer display which is displayed when POS " |
||||
|
"is closed" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#. openerp-web |
||||
|
#: code:addons/pos_customer_display/static/src/js/customer_display.js:81 |
||||
|
#, python-format |
||||
|
msgid "Your Change:" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: model:ir.model,name:pos_customer_display.model_pos_config |
||||
|
msgid "pos.config" |
||||
|
msgstr "pos.config" |
@ -0,0 +1,173 @@ |
|||||
|
# Translation of Odoo Server. |
||||
|
# This file contains the translation of the following modules: |
||||
|
# * pos_customer_display |
||||
|
# |
||||
|
msgid "" |
||||
|
msgstr "" |
||||
|
"Project-Id-Version: Odoo Server 12.0\n" |
||||
|
"Report-Msgid-Bugs-To: \n" |
||||
|
"POT-Creation-Date: 2020-01-11 23:37+0000\n" |
||||
|
"PO-Revision-Date: 2020-01-11 23:37+0000\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_customer_display |
||||
|
#: selection:pos.config,customer_display_format:0 |
||||
|
msgid "2 Lines of 20 Characters" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#. openerp-web |
||||
|
#: code:addons/pos_customer_display/static/src/js/customer_display_2_20.js:94 |
||||
|
#, python-format |
||||
|
msgid "Customer Account" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: model:ir.model.fields,field_description:pos_customer_display.field_pos_config__customer_display_format |
||||
|
msgid "Customer Display Format" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#. openerp-web |
||||
|
#: code:addons/pos_customer_display/static/src/js/customer_display_2_20.js:61 |
||||
|
#, python-format |
||||
|
msgid "Deleting Line ..." |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: model:ir.model.fields,help:pos_customer_display.field_pos_config__iface_customer_display |
||||
|
msgid "Display data on the customer display" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: model:ir.model.fields,help:pos_customer_display.field_pos_config__customer_display_msg_next_l1 |
||||
|
msgid "First line of the message on the customer display which is displayed after starting POS and also after validation of an order" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: model:ir.model.fields,help:pos_customer_display.field_pos_config__customer_display_msg_closed_l1 |
||||
|
msgid "First line of the message on the customer display which is displayed when POS is closed" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: model:ir.model.fields,field_description:pos_customer_display.field_pos_config__iface_customer_display |
||||
|
#: model_terms:ir.ui.view,arch_db:pos_customer_display.view_pos_config_form |
||||
|
msgid "LED Customer Display" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: model:ir.model.fields,help:pos_customer_display.field_pos_config__customer_display_line_length |
||||
|
msgid "Length of the LEDs lines of the customer display" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: model:ir.model.fields,field_description:pos_customer_display.field_pos_config__customer_display_line_length |
||||
|
#: model_terms:ir.ui.view,arch_db:pos_customer_display.view_pos_config_form |
||||
|
msgid "Line Length" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: model:ir.model.fields,field_description:pos_customer_display.field_pos_config__customer_display_msg_next_l1 |
||||
|
#: model_terms:ir.ui.view,arch_db:pos_customer_display.view_pos_config_form |
||||
|
msgid "Next Customer (Line 1)" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: model:ir.model.fields,field_description:pos_customer_display.field_pos_config__customer_display_msg_next_l2 |
||||
|
#: model_terms:ir.ui.view,arch_db:pos_customer_display.view_pos_config_form |
||||
|
msgid "Next Customer (Line 2)" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#. openerp-web |
||||
|
#: code:addons/pos_customer_display/static/src/js/customer_display_2_20.js:99 |
||||
|
#, python-format |
||||
|
msgid "No Customer Account" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: model:ir.model.fields,field_description:pos_customer_display.field_pos_config__customer_display_msg_closed_l1 |
||||
|
#: model_terms:ir.ui.view,arch_db:pos_customer_display.view_pos_config_form |
||||
|
msgid "PoS Closed (Line 1)" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: model:ir.model.fields,field_description:pos_customer_display.field_pos_config__customer_display_msg_closed_l2 |
||||
|
msgid "PoS Closed (Line 2)" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: code:addons/pos_customer_display/models/pos_config.py:64 |
||||
|
#, python-format |
||||
|
msgid "Point of Sale Closed" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: model:ir.model,name:pos_customer_display.model_pos_config |
||||
|
msgid "Point of Sale Configuration" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: code:addons/pos_customer_display/models/pos_config.py:60 |
||||
|
#, python-format |
||||
|
msgid "Point of Sale Open" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: model_terms:ir.ui.view,arch_db:pos_customer_display.view_pos_config_form |
||||
|
msgid "Pos Closed (Line 2)" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#. openerp-web |
||||
|
#: code:addons/pos_customer_display/static/src/js/customer_display_2_20.js:81 |
||||
|
#, python-format |
||||
|
msgid "Returned: " |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: model:ir.model.fields,help:pos_customer_display.field_pos_config__customer_display_msg_next_l2 |
||||
|
msgid "Second line of the message on the customer display which is displayed after starting POS and also after validation of an order" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: model:ir.model.fields,help:pos_customer_display.field_pos_config__customer_display_msg_closed_l2 |
||||
|
msgid "Second line of the message on the customer display which is displayed when POS is closed" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: code:addons/pos_customer_display/models/pos_config.py:66 |
||||
|
#, python-format |
||||
|
msgid "See you soon!" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: code:addons/pos_customer_display/models/pos_config.py:93 |
||||
|
#, python-format |
||||
|
msgid "The message for customer display '%s' is too long: it has %d chars whereas the maximum is %d chars." |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#. openerp-web |
||||
|
#: code:addons/pos_customer_display/static/src/js/customer_display_2_20.js:79 |
||||
|
#, python-format |
||||
|
msgid "To Pay: " |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#. openerp-web |
||||
|
#: code:addons/pos_customer_display/static/src/js/customer_display_2_20.js:86 |
||||
|
#, python-format |
||||
|
msgid "Total" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: pos_customer_display |
||||
|
#: code:addons/pos_customer_display/models/pos_config.py:62 |
||||
|
#, python-format |
||||
|
msgid "Welcome!" |
||||
|
msgstr "" |
@ -0,0 +1 @@ |
|||||
|
from . import pos_config |
@ -0,0 +1,102 @@ |
|||||
|
# © 2014-2016 Aurélien DUMAINE |
||||
|
# © 2015-2016 Akretion (Alexis de Lattre <alexis.delattre@akretion.com>) |
||||
|
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). |
||||
|
|
||||
|
from odoo import _, api, fields, models |
||||
|
from odoo.exceptions import ValidationError |
||||
|
|
||||
|
|
||||
|
class PosConfig(models.Model): |
||||
|
_inherit = "pos.config" |
||||
|
|
||||
|
_CUSTOMER_DISPLAY_FORMAT_SELECTION = [ |
||||
|
("2_20", "2 Lines of 20 Characters"), |
||||
|
] |
||||
|
|
||||
|
iface_customer_display = fields.Boolean( |
||||
|
string="LED Customer Display", |
||||
|
help="Display data on the customer display" |
||||
|
) |
||||
|
|
||||
|
customer_display_format = fields.Selection( |
||||
|
selection=_CUSTOMER_DISPLAY_FORMAT_SELECTION, |
||||
|
string="Customer Display Format", |
||||
|
default="2_20", required=True) |
||||
|
|
||||
|
customer_display_line_length = fields.Integer( |
||||
|
string="Line Length", |
||||
|
compute="_compute_customer_display_line_length", |
||||
|
store=True, |
||||
|
help="Length of the LEDs lines of the customer display", |
||||
|
) |
||||
|
customer_display_msg_next_l1 = fields.Char( |
||||
|
string="Next Customer (Line 1)", |
||||
|
default=lambda x: x._default_customer_display_msg("next_l1"), |
||||
|
help="First line of the message on the customer display which is " |
||||
|
"displayed after starting POS and also after validation of an order", |
||||
|
) |
||||
|
customer_display_msg_next_l2 = fields.Char( |
||||
|
string="Next Customer (Line 2)", |
||||
|
default=lambda x: x._default_customer_display_msg("next_l2"), |
||||
|
help="Second line of the message on the customer display which is " |
||||
|
"displayed after starting POS and also after validation of an order", |
||||
|
) |
||||
|
customer_display_msg_closed_l1 = fields.Char( |
||||
|
string="PoS Closed (Line 1)", |
||||
|
default=lambda x: x._default_customer_display_msg("closed_l1"), |
||||
|
help="First line of the message on the customer display which " |
||||
|
"is displayed when POS is closed", |
||||
|
) |
||||
|
customer_display_msg_closed_l2 = fields.Char( |
||||
|
string="PoS Closed (Line 2)", |
||||
|
default=lambda x: x._default_customer_display_msg("closed_l1"), |
||||
|
help="Second line of the message on the customer display which " |
||||
|
"is displayed when POS is closed", |
||||
|
) |
||||
|
|
||||
|
@api.model |
||||
|
def _default_customer_display_msg(self, line): |
||||
|
if line == "next_l1": |
||||
|
return _("Point of Sale Open") |
||||
|
elif line == "next_l2": |
||||
|
return _("Welcome!") |
||||
|
elif line == "closed_l1": |
||||
|
return _("Point of Sale Closed") |
||||
|
elif line == "closed_l2": |
||||
|
return _("See you soon!") |
||||
|
|
||||
|
@api.depends("customer_display_format") |
||||
|
def _compute_customer_display_line_length(self): |
||||
|
for config in self: |
||||
|
config.customer_display_line_length = int( |
||||
|
config.customer_display_format.split("_")[1]) |
||||
|
|
||||
|
@api.constrains( |
||||
|
"iface_customer_display", |
||||
|
"customer_display_format", |
||||
|
"customer_display_msg_next_l1", |
||||
|
"customer_display_msg_next_l2", |
||||
|
"customer_display_msg_closed_l1", |
||||
|
"customer_display_msg_closed_l2", |
||||
|
) |
||||
|
def _check_customer_display_length(self): |
||||
|
for config in self.filtered(lambda x: x.customer_display_line_length): |
||||
|
maxsize = config.customer_display_line_length |
||||
|
fields_to_check = [ |
||||
|
x for x in self._fields.keys() |
||||
|
if 'customer_display_msg_' in x |
||||
|
] |
||||
|
for field_name in fields_to_check: |
||||
|
value = getattr(config, field_name) |
||||
|
if value and len(value) > maxsize: |
||||
|
raise ValidationError( |
||||
|
_( |
||||
|
"The message for customer display '%s' is too " |
||||
|
"long: it has %d chars whereas the maximum " |
||||
|
"is %d chars." |
||||
|
) |
||||
|
% ( |
||||
|
self._fields[field_name].string, |
||||
|
len(value), |
||||
|
maxsize) |
||||
|
) |
@ -0,0 +1,8 @@ |
|||||
|
To configure this module, |
||||
|
* go to the menu Point of Sale > Configuration > Point of Sale |
||||
|
* edit the point of sale for which you want to enable the LED: |
||||
|
|
||||
|
* In the IotBox section, activate the option *LED Customer Display*, |
||||
|
* configure the format of your LED screen. (2 lines of 20 characters, by default) |
||||
|
|
||||
|
* optionaly, you can customize the *Next customer* message and the *POS closed* message |
@ -0,0 +1,5 @@ |
|||||
|
* Aurélien Dumaine |
||||
|
* Alexis de Lattre <alexis.delattre@akretion.com> |
||||
|
* Father Odilon (`Barroux Abbey <http://www.barroux.org/>`_) |
||||
|
* Daniel Kraft |
||||
|
* Sylvain LE GAL ((https://twitter.com/legalsylvain)) |
@ -0,0 +1,10 @@ |
|||||
|
This module adds support for LED Customer Display in the Point of Sale. |
||||
|
|
||||
|
It has been tested with |
||||
|
|
||||
|
* Bixolon BCD-1100 (http://www.bixolon.com/html/en/product/product_detail.xhtml?prod_id=61), |
||||
|
* Aures OCD 300 (https://www.aures.com/point-de-vente-equipment-solutions-systemes/ecrans-tactiles-afficheurs/ocd-300-350-afficheur-client-graphique) |
||||
|
|
||||
|
But it should support most serial and USB-serial LED displays out-of-the-box or with minor adaptations in the source code |
||||
|
* of the module *hw_customer_display* if you use the POSbox, |
||||
|
* or of the Python lib `pyposdisplay <https://github.com/akretion/pyposdisplay>`__ if you use `pywebdriver <https://github.com/akretion/pywebdriver>`__. |
@ -0,0 +1,7 @@ |
|||||
|
This module is designed to be installed on the *main Odoo server*. On the |
||||
|
*POSbox*, you should install the module *hw_customer_display*. But you will certainly prefer to use `pywebdriver <https://github.com/akretion/pywebdriver>`__ instead of the POSbox. Compared to the POSbox, Pywebdriver has several advantages: |
||||
|
|
||||
|
* smaller footprint: no need to have a full-blown Odoo with PostgreSQL on the computer of the cashier (or his small Linux-based PC connected to the hardware, like the RaspberryPi for the POSbox), |
||||
|
* availability of an Ubuntu package, for easier deployment, |
||||
|
* native support for the customer display, payment terminal, etc. |
||||
|
* nice test/diagnosis Web interface. |
@ -0,0 +1 @@ |
|||||
|
* Support other format, for exemple, 4 lines of 30 characters, for the Bixolon BDC-2000. |
@ -0,0 +1,9 @@ |
|||||
|
Once everything is configured, just start the POS as usual. You will see messages on the device when: |
||||
|
|
||||
|
* you start the POS, |
||||
|
* you add or remove a product, |
||||
|
* you select or deselect a customer, |
||||
|
* you press the Payment button: the device will display the total amount, |
||||
|
* you enter the amount of cash you receive: the device will display the amount of the change to give back, |
||||
|
* you validate an order and go to the next customer, |
||||
|
* you close the POS. |
After Width: 200 | Height: 200 | Size: 18 KiB |
@ -0,0 +1,111 @@ |
|||||
|
/* |
||||
|
Copyright (C) 2015-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.define('pos_customer_display.customer_display_2_20', function (require) { |
||||
|
"use strict"; |
||||
|
|
||||
|
var core = require('web.core'); |
||||
|
var _t = core._t; |
||||
|
|
||||
|
var CustomerDisplay_2_20 = function(proxy_device){ |
||||
|
this.pos = proxy_device.pos; |
||||
|
this._prepare_line = proxy_device._prepare_line; |
||||
|
|
||||
|
this._prepare_message_welcome = function(){ |
||||
|
return new Array( |
||||
|
this._prepare_line(this.pos.config.customer_display_msg_next_l1, ""), |
||||
|
this._prepare_line(this.pos.config.customer_display_msg_next_l2, ""), |
||||
|
); |
||||
|
}; |
||||
|
|
||||
|
this._prepare_message_close = function(){ |
||||
|
return new Array( |
||||
|
this._prepare_line(this.pos.config.customer_display_msg_closed_l1, ""), |
||||
|
this._prepare_line(this.pos.config.customer_display_msg_closed_l2, ""), |
||||
|
); |
||||
|
}; |
||||
|
|
||||
|
this._prepare_message_orderline = function(order_line, action){ |
||||
|
var currency_rounding = this.pos.currency.decimals; |
||||
|
|
||||
|
var product_name = order_line.product.display_name; |
||||
|
var unit_price_str = order_line.get_unit_price().toFixed(currency_rounding); |
||||
|
var total_amount_str = order_line.get_display_price().toFixed(currency_rounding); |
||||
|
var qty = order_line.get_quantity(); |
||||
|
// only display decimals when qty is not an integer
|
||||
|
if (qty.toFixed(0) == qty) { |
||||
|
qty = qty.toFixed(0); |
||||
|
} |
||||
|
var discount = order_line.get_discount(); |
||||
|
var discount_str = ""; |
||||
|
if ([ |
||||
|
'add_line', |
||||
|
'update_quantity', |
||||
|
'update_unit_price', |
||||
|
'update_discount', |
||||
|
].indexOf(action) !== -1){ |
||||
|
var second_line = String(qty) + " * " + unit_price_str; |
||||
|
if (discount){ |
||||
|
discount_str = " -" + String(discount) + "%"; |
||||
|
} |
||||
|
return new Array( |
||||
|
this._prepare_line(product_name, discount_str), |
||||
|
this._prepare_line(second_line, total_amount_str), |
||||
|
); |
||||
|
} else if (action === 'delete_line'){ |
||||
|
return new Array( |
||||
|
this._prepare_line(_t("Deleting Line ..."), ""), |
||||
|
this._prepare_line(order_line.product.display_name, ""), |
||||
|
); |
||||
|
} |
||||
|
}; |
||||
|
|
||||
|
this._prepare_message_payment = function(action){ |
||||
|
var currency_rounding = this.pos.currency.decimals; |
||||
|
var order = this.pos.get_order() |
||||
|
var total = order.get_total_with_tax().toFixed(currency_rounding); |
||||
|
var total_paid = order.get_total_paid().toFixed(currency_rounding); |
||||
|
var total_change = order.get_due().toFixed(currency_rounding); |
||||
|
var total_to_pay = (total - total_paid).toFixed(currency_rounding); |
||||
|
|
||||
|
var remaining_operation_str = ""; |
||||
|
|
||||
|
if (total_paid != 0) { |
||||
|
if (total_to_pay > 0) { |
||||
|
remaining_operation_str = _t("To Pay: ") + String(total_to_pay); |
||||
|
} else if (total_change < 0) { |
||||
|
remaining_operation_str = _t("Returned: ") + String(- total_change); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
return new Array( |
||||
|
this._prepare_line(_t("Total"), String(total)), |
||||
|
this._prepare_line(remaining_operation_str, ""), |
||||
|
); |
||||
|
}; |
||||
|
|
||||
|
this._prepare_message_client = function(client){ |
||||
|
if ( client ) { |
||||
|
return new Array( |
||||
|
this._prepare_line(_t("Customer Account"), ""), |
||||
|
this._prepare_line(client.name, ""), |
||||
|
); |
||||
|
} else { |
||||
|
return new Array( |
||||
|
this._prepare_line(_t("No Customer Account"), ""), |
||||
|
this._prepare_line("", ""), |
||||
|
); |
||||
|
} |
||||
|
}; |
||||
|
|
||||
|
}; |
||||
|
|
||||
|
return { |
||||
|
CustomerDisplay_2_20: CustomerDisplay_2_20, |
||||
|
}; |
||||
|
|
||||
|
}); |
@ -0,0 +1,88 @@ |
|||||
|
/* |
||||
|
Copyright (C) 2015-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.define('pos_customer_display.devices', function (require) { |
||||
|
"use strict"; |
||||
|
|
||||
|
var devices = require('point_of_sale.devices'); |
||||
|
|
||||
|
var customer_display_2_20 = require('pos_customer_display.customer_display_2_20'); |
||||
|
|
||||
|
var ProxyDeviceSuper = devices.ProxyDevice; |
||||
|
|
||||
|
devices.ProxyDevice = devices.ProxyDevice.extend({ |
||||
|
|
||||
|
|
||||
|
init: function(parent, options){ |
||||
|
var res = ProxyDeviceSuper.prototype.init.call(this, parent, options); |
||||
|
this.customer_display_proxy = false; |
||||
|
return res; |
||||
|
}, |
||||
|
|
||||
|
load_customer_display_format_file: function(){ |
||||
|
if (this.pos.config.customer_display_format == "2_20") { |
||||
|
this.customer_display_proxy = new customer_display_2_20.CustomerDisplay_2_20(this); |
||||
|
} else { |
||||
|
console.warn("No Javascript file found for the Customer Display format" + this.config.customer_display_format); |
||||
|
} |
||||
|
}, |
||||
|
|
||||
|
send_text_customer_display: function(data){ |
||||
|
if (this.customer_display_proxy) { |
||||
|
return this.message( |
||||
|
'send_text_customer_display', |
||||
|
{'text_to_display' : JSON.stringify(data)} |
||||
|
); |
||||
|
} |
||||
|
}, |
||||
|
|
||||
|
_prepare_line: function(left_part, right_part){ |
||||
|
var line_length = this.pos.config.customer_display_line_length; |
||||
|
var max_left_length = line_length; |
||||
|
if (right_part.length !== 0) { |
||||
|
max_left_length -= right_part.length; |
||||
|
} |
||||
|
var result = left_part.substring(0, max_left_length - 1); |
||||
|
result = result.padEnd(max_left_length); |
||||
|
if (right_part.length !== 0) { |
||||
|
result += right_part.padStart(line_length - result.length); |
||||
|
} |
||||
|
return result; |
||||
|
}, |
||||
|
|
||||
|
prepare_message_orderline: function(order_line, action){ |
||||
|
if (this.customer_display_proxy) { |
||||
|
return this.customer_display_proxy._prepare_message_orderline(order_line, action); |
||||
|
} |
||||
|
}, |
||||
|
|
||||
|
prepare_message_payment: function(action){ |
||||
|
if (this.customer_display_proxy) { |
||||
|
return this.customer_display_proxy._prepare_message_payment(action); |
||||
|
} |
||||
|
}, |
||||
|
|
||||
|
prepare_message_welcome: function(){ |
||||
|
if (this.customer_display_proxy) { |
||||
|
return this.customer_display_proxy._prepare_message_welcome(); |
||||
|
} |
||||
|
}, |
||||
|
|
||||
|
prepare_message_close: function(){ |
||||
|
if (this.customer_display_proxy) { |
||||
|
return this.customer_display_proxy._prepare_message_close(); |
||||
|
} |
||||
|
}, |
||||
|
|
||||
|
prepare_message_client: function(client){ |
||||
|
if (this.customer_display_proxy) { |
||||
|
return this.customer_display_proxy._prepare_message_client(client); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
}); |
||||
|
}); |
@ -0,0 +1,24 @@ |
|||||
|
/* |
||||
|
Copyright (C) 2020-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.define('pos_customer_display.gui', function (require) { |
||||
|
"use strict"; |
||||
|
|
||||
|
var gui = require('point_of_sale.gui'); |
||||
|
|
||||
|
gui.Gui.include({ |
||||
|
|
||||
|
close: function(){ |
||||
|
this.pos.proxy.send_text_customer_display( |
||||
|
this.pos.proxy.prepare_message_closed() |
||||
|
); |
||||
|
return this._super(); |
||||
|
}, |
||||
|
|
||||
|
}); |
||||
|
|
||||
|
}); |
@ -0,0 +1,128 @@ |
|||||
|
/* |
||||
|
Copyright (C) 2015-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.define('pos_customer_display.models', function (require) { |
||||
|
"use strict"; |
||||
|
|
||||
|
var models = require('point_of_sale.models'); |
||||
|
var OrderSuper = models.Order; |
||||
|
var OrderlineSuper = models.Orderline; |
||||
|
var PosModelSuper = models.PosModel; |
||||
|
|
||||
|
// //////////////////////////////////
|
||||
|
// Overload models.PosModel
|
||||
|
// //////////////////////////////////
|
||||
|
models.PosModel = models.PosModel.extend({ |
||||
|
|
||||
|
initialize: function(session, attributes) { |
||||
|
var res = PosModelSuper.prototype.initialize.call(this, session, attributes); |
||||
|
// send_message_customer_display is a variable that allow
|
||||
|
// to disable the send of the message to the customer display
|
||||
|
// This desing is due to the current design of Odoo PoS.
|
||||
|
// 1) during the call_of_init_from_JSON, a call to
|
||||
|
// add_product and remove_orderline is done.
|
||||
|
// 2) during the call of add_product, a call
|
||||
|
// to set_price, set_discount, set_quantity is done.
|
||||
|
// To avoid multiple useless messages sends.
|
||||
|
// it fixed this @via-alexis comment:
|
||||
|
// https://github.com/OCA/pos/blob/10.0/pos_customer_display/
|
||||
|
// static/src/js/customer_display.js#L198
|
||||
|
this.send_message_customer_display = true; |
||||
|
return res; |
||||
|
}, |
||||
|
|
||||
|
after_load_server_data: function(){ |
||||
|
this.proxy.load_customer_display_format_file(); |
||||
|
return PosModelSuper.prototype.after_load_server_data.call(this); |
||||
|
}, |
||||
|
}); |
||||
|
|
||||
|
|
||||
|
// //////////////////////////////////
|
||||
|
// Overload models.Order
|
||||
|
// //////////////////////////////////
|
||||
|
models.Order = models.Order.extend({ |
||||
|
|
||||
|
init_from_JSON: function(json) { |
||||
|
this.pos.send_message_customer_display = false; |
||||
|
var res = OrderSuper.prototype.init_from_JSON.call(this, json); |
||||
|
this.pos.send_message_customer_display = true; |
||||
|
return res; |
||||
|
}, |
||||
|
|
||||
|
add_product: function(product, options){ |
||||
|
var send_message = this.pos.send_message_customer_display; |
||||
|
this.pos.send_message_customer_display = false; |
||||
|
var res = OrderSuper.prototype.add_product.call(this, product, options); |
||||
|
if (send_message){ |
||||
|
this.pos.proxy.send_text_customer_display( |
||||
|
this.pos.proxy.prepare_message_orderline( |
||||
|
this.get_last_orderline(), 'add_line')); |
||||
|
this.pos.send_message_customer_display = true; |
||||
|
} |
||||
|
return res; |
||||
|
}, |
||||
|
|
||||
|
}); |
||||
|
|
||||
|
//////////////////////////////////
|
||||
|
// Overload models.Orderline
|
||||
|
//////////////////////////////////
|
||||
|
models.Orderline = models.Orderline.extend({ |
||||
|
|
||||
|
set_quantity: function(quantity, keep_price){ |
||||
|
var send_message = this.pos.send_message_customer_display; |
||||
|
var message; |
||||
|
this.pos.send_message_customer_display = false; |
||||
|
|
||||
|
// In the current Odoo design, set_quantity is call to remove line
|
||||
|
// so we prepare the message before because after the call
|
||||
|
// of super, the line is delete.
|
||||
|
if (send_message){ |
||||
|
if (quantity === 'remove') { |
||||
|
message = this.pos.proxy.prepare_message_orderline(this, 'delete_line'); |
||||
|
} |
||||
|
} |
||||
|
var res = OrderlineSuper.prototype.set_quantity.call(this, quantity, keep_price); |
||||
|
if (send_message) { |
||||
|
if (quantity !== 'remove'){ |
||||
|
message = this.pos.proxy.prepare_message_orderline(this, 'update_quantity'); |
||||
|
} |
||||
|
this.pos.send_message_customer_display = true; |
||||
|
this.pos.proxy.send_text_customer_display(message); |
||||
|
} |
||||
|
return res; |
||||
|
}, |
||||
|
|
||||
|
set_discount: function(discount){ |
||||
|
var send_message = this.pos.send_message_customer_display; |
||||
|
this.pos.send_message_customer_display = false; |
||||
|
|
||||
|
var res = OrderlineSuper.prototype.set_discount.call(this, discount); |
||||
|
if (send_message) { |
||||
|
this.pos.send_message_customer_display = true; |
||||
|
this.pos.proxy.send_text_customer_display( |
||||
|
this.pos.proxy.prepare_message_orderline(this, 'update_discount')); |
||||
|
} |
||||
|
return res; |
||||
|
}, |
||||
|
|
||||
|
set_unit_price: function(price){ |
||||
|
var send_message = this.pos.send_message_customer_display; |
||||
|
this.pos.send_message_customer_display = false; |
||||
|
|
||||
|
var res = OrderlineSuper.prototype.set_unit_price.call(this, price); |
||||
|
if (send_message) { |
||||
|
this.pos.send_message_customer_display = true; |
||||
|
this.pos.proxy.send_text_customer_display( |
||||
|
this.pos.proxy.prepare_message_orderline(this, 'update_unit_price')); |
||||
|
} |
||||
|
return res; |
||||
|
}, |
||||
|
|
||||
|
}); |
||||
|
|
||||
|
}); |
@ -0,0 +1,51 @@ |
|||||
|
/* |
||||
|
Copyright (C) 2015-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.define('pos_customer_display.screens', function (require) { |
||||
|
"use strict"; |
||||
|
|
||||
|
var screens = require('point_of_sale.screens'); |
||||
|
|
||||
|
screens.PaymentScreenWidget.include({ |
||||
|
|
||||
|
render_paymentlines: function() { |
||||
|
if (this.pos.get_order().get_total_with_tax() === 0) { |
||||
|
// Render payment is called each time a new order is created
|
||||
|
// (and so when lauching the PoS)
|
||||
|
// in that case, we display the welcome message
|
||||
|
this.pos.proxy.send_text_customer_display( |
||||
|
this.pos.proxy.prepare_message_welcome() |
||||
|
); |
||||
|
} else { |
||||
|
this.pos.proxy.send_text_customer_display( |
||||
|
this.pos.proxy.prepare_message_payment() |
||||
|
); |
||||
|
} |
||||
|
return this._super(); |
||||
|
}, |
||||
|
|
||||
|
}); |
||||
|
|
||||
|
screens.ClientListScreenWidget.include({ |
||||
|
|
||||
|
save_changes: function(){ |
||||
|
if(this.has_client_changed()){ |
||||
|
this.pos.proxy.send_text_customer_display( |
||||
|
this.pos.proxy.prepare_message_client(this.new_client) |
||||
|
); |
||||
|
} |
||||
|
// we disable the send of message, during the call of _super()
|
||||
|
// because when selecting customer, all lines are recomputed
|
||||
|
// and so a message is sent for each lines
|
||||
|
// causing useless flashes
|
||||
|
this.pos.send_message_customer_display = false; |
||||
|
var res = this._super(); |
||||
|
this.pos.send_message_customer_display = true; |
||||
|
return res; |
||||
|
}, |
||||
|
}); |
||||
|
|
||||
|
}); |
@ -0,0 +1,14 @@ |
|||||
|
<?xml version="1.0" encoding="utf-8"?> |
||||
|
<odoo> |
||||
|
|
||||
|
<template id="assets" inherit_id="point_of_sale.assets"> |
||||
|
<xpath expr="." position="inside"> |
||||
|
<script type="text/javascript" src="/pos_customer_display/static/src/js/models.js" /> |
||||
|
<script type="text/javascript" src="/pos_customer_display/static/src/js/screens.js" /> |
||||
|
<script type="text/javascript" src="/pos_customer_display/static/src/js/gui.js" /> |
||||
|
<script type="text/javascript" src="/pos_customer_display/static/src/js/devices.js" /> |
||||
|
<script type="text/javascript" src="/pos_customer_display/static/src/js/customer_display_2_20.js" /> |
||||
|
</xpath> |
||||
|
</template> |
||||
|
|
||||
|
</odoo> |
@ -0,0 +1,46 @@ |
|||||
|
<?xml version="1.0"?> |
||||
|
<odoo> |
||||
|
|
||||
|
<record id="view_pos_config_form" model="ir.ui.view"> |
||||
|
<field name="model">pos.config</field> |
||||
|
<field name="inherit_id" ref="point_of_sale.pos_config_view_form"/> |
||||
|
<field name="arch" type="xml"> |
||||
|
<xpath expr="//field[@name='iface_cashdrawer']/.." position="after"> |
||||
|
<div class="row"> |
||||
|
<label string="LED Customer Display" for="iface_customer_display" class="col-lg-3 o_light_label"/> |
||||
|
<field name="iface_customer_display"/> |
||||
|
</div> |
||||
|
|
||||
|
<div class="row" attrs="{'invisible': [('iface_customer_display', '=', False)]}"> |
||||
|
<label string="Customer Display Format" for="customer_display_format" class="col-lg-3 o_light_label"/> |
||||
|
<field name="customer_display_format"/> |
||||
|
</div> |
||||
|
|
||||
|
<div class="row" attrs="{'invisible': [('iface_customer_display', '=', False)]}"> |
||||
|
<label string="Line Length" for="customer_display_line_length" class="col-lg-3 o_light_label"/> |
||||
|
<field name="customer_display_line_length"/> |
||||
|
</div> |
||||
|
|
||||
|
<div class="row" attrs="{'invisible': [('iface_customer_display', '=', False)]}"> |
||||
|
<label string="Next Customer (Line 1)" for="customer_display_msg_next_l1" class="col-lg-3 o_light_label"/> |
||||
|
<field name="customer_display_msg_next_l1"/> |
||||
|
</div> |
||||
|
<div class="row" attrs="{'invisible': [('iface_customer_display', '=', False)]}"> |
||||
|
<label string="Next Customer (Line 2)" for="customer_display_msg_next_l2" class="col-lg-3 o_light_label"/> |
||||
|
<field name="customer_display_msg_next_l2"/> |
||||
|
</div> |
||||
|
|
||||
|
<div class="row" attrs="{'invisible': [('iface_customer_display', '=', False)]}"> |
||||
|
<label string="PoS Closed (Line 1)" for="customer_display_msg_closed_l1" class="col-lg-3 o_light_label"/> |
||||
|
<field name="customer_display_msg_closed_l1"/> |
||||
|
</div> |
||||
|
<div class="row" attrs="{'invisible': [('iface_customer_display', '=', False)]}"> |
||||
|
<label string="PoS Closed (Line 2)" for="customer_display_msg_closed_l2" class="col-lg-3 o_light_label"/> |
||||
|
<field name="customer_display_msg_closed_l2"/> |
||||
|
</div> |
||||
|
|
||||
|
</xpath> |
||||
|
</field> |
||||
|
</record> |
||||
|
|
||||
|
</odoo> |
Write
Preview
Loading…
Cancel
Save
Reference in new issue