Browse Source

fixup! [MIG] pos_customer_display: Migration to 12.0 [REF] OCA Convention - rename files. - split js file into many files. (models, screens, etc.) [FIX] make default "welcome" and "good bye" message translatable [REF] add the possibility to have other format of LCD Customer display.

pull/437/head
Sylvain LE GAL 5 years ago
parent
commit
e47f1fef52
  1. 4
      pos_customer_display/__manifest__.py
  2. 216
      pos_customer_display/i18n/fr.po
  3. 18
      pos_customer_display/i18n/pos_customer_display.pot
  4. 2
      pos_customer_display/models/pos_config.py
  5. 6
      pos_customer_display/readme/CONFIGURE.rst
  6. 4
      pos_customer_display/readme/DESCRIPTION.rst
  7. 1
      pos_customer_display/readme/ROADMAP.rst
  8. 6
      pos_customer_display/readme/USAGE.rst
  9. 7
      pos_customer_display/views/view_pos_config.xml

4
pos_customer_display/__manifest__.py

@ -3,10 +3,10 @@
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
{ {
"name": "Point of Sale - LCD Customer Display",
"name": "Point of Sale - LED Customer Display",
"version": "12.0.1.0.0", "version": "12.0.1.0.0",
"category": "Point Of Sale", "category": "Point Of Sale",
"summary": "Manage LCD Customer Display device from POS front end",
"summary": "Manage LED Customer Display device from POS front end",
"author": "Aurélien DUMAINE,GRAP,Akretion,Odoo Community Association (OCA)", "author": "Aurélien DUMAINE,GRAP,Akretion,Odoo Community Association (OCA)",
"license": "AGPL-3", "license": "AGPL-3",
"depends": ["point_of_sale"], "depends": ["point_of_sale"],

216
pos_customer_display/i18n/fr.po

@ -1,167 +1,175 @@
# Translation of Odoo Server. # Translation of Odoo Server.
# This file contains the translation of the following modules: # This file contains the translation of the following modules:
# * pos_customer_display
# * pos_customer_display
# #
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Project-Id-Version: Odoo Server 12.0\n"
"Report-Msgid-Bugs-To: \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: French (https://www.transifex.com/oca/teams/23907/fr/)\n"
"Language: fr\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" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n" "Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"Plural-Forms: \n"
#. module: pos_customer_display #. module: pos_customer_display
#: model:ir.ui.view,arch_db:pos_customer_display.view_pos_config_form
msgid "Bottom Line"
#: selection:pos.config,customer_display_format:0
msgid "2 Lines of 20 Characters"
msgstr "" msgstr ""
#. module: pos_customer_display #. 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 ""
"Ligne du bas 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"
#. 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 #. 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 ""
"Ligne du bas du message de l'afficheur client qui est affiché quand la "
"caisse est fermée"
#: 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 #. module: pos_customer_display
#. openerp-web #. openerp-web
#: code:addons/pos_customer_display/static/src/js/customer_display.js:74
#: code:addons/pos_customer_display/static/src/js/customer_display_2_20.js:61
#, python-format #, python-format
msgid "Cancel Payment"
msgstr "Paiement annulé"
msgid "Deleting Line ..."
msgstr "Suppression ligne"
#. module: pos_customer_display #. 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 "Afficheur client"
#: 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 #. module: pos_customer_display
#. openerp-web
#: code:addons/pos_customer_display/static/src/js/customer_display.js:59
#, python-format
msgid "Delete Item"
msgstr "Article supprimé"
#: 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 #. 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 "Utiliser l'afficheur client"
#: 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 #. 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"
#: 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 #. 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 "Longueur de ligne de l'afficheur client"
#: 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 #. 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 "Client suivant (ligne du bas)"
#: 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 #. 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 "Client suivant (ligne du haut)"
#: 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 #. module: pos_customer_display
#: model:ir.ui.view,arch_db:pos_customer_display.view_pos_config_form
msgid "Next Customer Message"
msgstr ""
#: 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 #. 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
#. openerp-web
#: code:addons/pos_customer_display/static/src/js/customer_display_2_20.js:99
#, python-format #, python-format
msgid "POS Closed (bottom line)"
msgstr "Caisse fermée (ligne du bas)"
msgid "No Customer Account"
msgstr "Client non défini"
#. module: pos_customer_display #. 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 "Caisse fermée (ligne du haut)"
#: 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 #. module: pos_customer_display
#: model:ir.ui.view,arch_db:pos_customer_display.view_pos_config_form
msgid "POS Closed Message"
msgstr ""
#: 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 #. module: pos_customer_display
#. openerp-web
#: code:addons/pos_customer_display/static/src/js/customer_display.js:66
#: code:addons/pos_customer_display/models/pos_config.py:64
#, python-format #, python-format
msgid "TOTAL: "
msgstr "TOTAL : "
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 #. module: pos_customer_display
#: code:addons/pos_customer_display/models/pos_customer_display.py:55
#: code:addons/pos_customer_display/models/pos_config.py:60
#, python-format #, 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."
msgid "Point of Sale Open"
msgstr "Caisse ouverte"
#. module: pos_customer_display #. module: pos_customer_display
#: model:ir.ui.view,arch_db:pos_customer_display.view_pos_config_form
msgid "Top Line"
msgstr ""
#. 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 #. 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 ""
"Ligne du haut du message de l'afficheur client qui est affiché après le "
#: 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" "démarrage de la caisse et également après validation d'une commande client"
#. module: pos_customer_display #. 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 ""
"Ligne du haut du message de l'afficheur client qui est affiché quand la "
#: 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" "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 #. module: pos_customer_display
#. openerp-web #. openerp-web
#: code:addons/pos_customer_display/static/src/js/customer_display.js:81
#: code:addons/pos_customer_display/static/src/js/customer_display_2_20.js:79
#, python-format #, python-format
msgid "Your Change:"
msgstr "Monnaie à rendre :"
msgid "To Pay: "
msgstr "A payer : "
#. module: pos_customer_display #. module: pos_customer_display
#: model:ir.model,name:pos_customer_display.model_pos_config
msgid "pos.config"
msgstr "pos.config"
#. 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 !"

18
pos_customer_display/i18n/pos_customer_display.pot

@ -6,8 +6,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Odoo Server 12.0\n" "Project-Id-Version: Odoo Server 12.0\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-01-11 13:43+0000\n"
"PO-Revision-Date: 2020-01-11 13:43+0000\n"
"POT-Creation-Date: 2020-01-11 23:37+0000\n"
"PO-Revision-Date: 2020-01-11 23:37+0000\n"
"Last-Translator: <>\n" "Last-Translator: <>\n"
"Language-Team: \n" "Language-Team: \n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@ -22,19 +22,19 @@ msgstr ""
#. module: pos_customer_display #. module: pos_customer_display
#. openerp-web #. openerp-web
#: code:addons/pos_customer_display/static/src/js/customer_display_2_20.js:93
#: code:addons/pos_customer_display/static/src/js/customer_display_2_20.js:94
#, python-format #, python-format
msgid "Customer Account" msgid "Customer Account"
msgstr "" msgstr ""
#. module: pos_customer_display #. module: pos_customer_display
#: model:ir.model.fields,field_description:pos_customer_display.field_pos_config__customer_display_format #: model:ir.model.fields,field_description:pos_customer_display.field_pos_config__customer_display_format
msgid "Customer Display Size"
msgid "Customer Display Format"
msgstr "" msgstr ""
#. module: pos_customer_display #. module: pos_customer_display
#. openerp-web #. openerp-web
#: code:addons/pos_customer_display/static/src/js/customer_display_2_20.js:60
#: code:addons/pos_customer_display/static/src/js/customer_display_2_20.js:61
#, python-format #, python-format
msgid "Deleting Line ..." msgid "Deleting Line ..."
msgstr "" msgstr ""
@ -85,7 +85,7 @@ msgstr ""
#. module: pos_customer_display #. module: pos_customer_display
#. openerp-web #. openerp-web
#: code:addons/pos_customer_display/static/src/js/customer_display_2_20.js:98
#: code:addons/pos_customer_display/static/src/js/customer_display_2_20.js:99
#, python-format #, python-format
msgid "No Customer Account" msgid "No Customer Account"
msgstr "" msgstr ""
@ -125,7 +125,7 @@ msgstr ""
#. module: pos_customer_display #. module: pos_customer_display
#. openerp-web #. openerp-web
#: code:addons/pos_customer_display/static/src/js/customer_display_2_20.js:80
#: code:addons/pos_customer_display/static/src/js/customer_display_2_20.js:81
#, python-format #, python-format
msgid "Returned: " msgid "Returned: "
msgstr "" msgstr ""
@ -154,14 +154,14 @@ msgstr ""
#. module: pos_customer_display #. module: pos_customer_display
#. openerp-web #. openerp-web
#: code:addons/pos_customer_display/static/src/js/customer_display_2_20.js:78
#: code:addons/pos_customer_display/static/src/js/customer_display_2_20.js:79
#, python-format #, python-format
msgid "To Pay: " msgid "To Pay: "
msgstr "" msgstr ""
#. module: pos_customer_display #. module: pos_customer_display
#. openerp-web #. openerp-web
#: code:addons/pos_customer_display/static/src/js/customer_display_2_20.js:85
#: code:addons/pos_customer_display/static/src/js/customer_display_2_20.js:86
#, python-format #, python-format
msgid "Total" msgid "Total"
msgstr "" msgstr ""

2
pos_customer_display/models/pos_config.py

@ -25,7 +25,7 @@ class PosConfig(models.Model):
customer_display_line_length = fields.Integer( customer_display_line_length = fields.Integer(
string="Line Length", string="Line Length",
compute="_customer_display_line_length",
compute="_compute_customer_display_line_length",
store=True, store=True,
help="Length of the LEDs lines of the customer display", help="Length of the LEDs lines of the customer display",
) )

6
pos_customer_display/readme/CONFIGURE.rst

@ -1,8 +1,8 @@
To configure this module, To configure this module,
* go to the menu Point of Sale > Configuration > Point of Sale * go to the menu Point of Sale > Configuration > Point of Sale
* edit the point of sale for which you want to enable the LCD:
* edit the point of sale for which you want to enable the LED:
* In the IotBox section, activate the option *LCD Customer Display*,
* configure the format of your LCD screen. (2 lines of 20 characters, by default)
* 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 * optionaly, you can customize the *Next customer* message and the *POS closed* message

4
pos_customer_display/readme/DESCRIPTION.rst

@ -1,10 +1,10 @@
This module adds support for LCD Customer Display in the Point of Sale.
This module adds support for LED Customer Display in the Point of Sale.
It has been tested with It has been tested with
* Bixolon BCD-1100 (http://www.bixolon.com/html/en/product/product_detail.xhtml?prod_id=61), * 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) * 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 LCD displays out-of-the-box or with minor adaptations in the source code
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, * 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>`__. * or of the Python lib `pyposdisplay <https://github.com/akretion/pyposdisplay>`__ if you use `pywebdriver <https://github.com/akretion/pywebdriver>`__.

1
pos_customer_display/readme/ROADMAP.rst

@ -0,0 +1 @@
* Support other format, for exemple, 4 lines of 30 characters, for the Bixolon BDC-2000.

6
pos_customer_display/readme/USAGE.rst

@ -1,9 +1,9 @@
Once everything is configured, just start the POS as usual. You will see messages on the LCD when:
Once everything is configured, just start the POS as usual. You will see messages on the device when:
* you start the POS, * you start the POS,
* you add or remove a product, * you add or remove a product,
* you select or deselect a customer, * you select or deselect a customer,
* you press the Payment button: the LCD will display the total amount,
* you enter the amount of cash you receive: the LCD will display the amount of the change to give back,
* 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 validate an order and go to the next customer,
* you close the POS. * you close the POS.

7
pos_customer_display/views/view_pos_config.xml

@ -11,6 +11,11 @@
<field name="iface_customer_display"/> <field name="iface_customer_display"/>
</div> </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)]}"> <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"/> <label string="Line Length" for="customer_display_line_length" class="col-lg-3 o_light_label"/>
<field name="customer_display_line_length"/> <field name="customer_display_line_length"/>
@ -30,7 +35,7 @@
<field name="customer_display_msg_closed_l1"/> <field name="customer_display_msg_closed_l1"/>
</div> </div>
<div class="row" attrs="{'invisible': [('iface_customer_display', '=', False)]}"> <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"/>
<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"/> <field name="customer_display_msg_closed_l2"/>
</div> </div>

Loading…
Cancel
Save