Browse Source

Make some messages of customer display configurable

JS code cleanup: harmonize identation
pull/30/head
Alexis de Lattre 10 years ago
parent
commit
41af109f4e
  1. 8
      pos_customer_display/customer_display_view.xml
  2. 81
      pos_customer_display/i18n/fr.po
  3. 71
      pos_customer_display/i18n/pos_customer_display.pot
  4. 45
      pos_customer_display/pos_customer_display.py
  5. 36
      pos_customer_display/static/src/js/customer_display.js

8
pos_customer_display/customer_display_view.xml

@ -10,6 +10,14 @@
<field name="iface_customer_display"/> <field name="iface_customer_display"/>
<field name="customer_display_line_length"/> <field name="customer_display_line_length"/>
</field> </field>
<group string="Receipt" position="after">
<group name="customer_display" string="Customer Display">
<field name="customer_display_msg_next_l1"/>
<field name="customer_display_msg_next_l2"/>
<field name="customer_display_msg_closed_l1"/>
<field name="customer_display_msg_closed_l2"/>
</group>
</group>
</field> </field>
</record> </record>
</data> </data>

81
pos_customer_display/i18n/fr.po

@ -6,30 +6,41 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Odoo Server 8.0\n" "Project-Id-Version: Odoo Server 8.0\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-05-16 23:24+0000\n"
"PO-Revision-Date: 2015-05-16 23:24+0000\n"
"Last-Translator: Alexis de Lattre <alexis.delattre@akretion.com>\n"
"POT-Creation-Date: 2015-06-13 22:12+0000\n"
"PO-Revision-Date: 2015-06-13 22:12+0000\n"
"Last-Translator: <>\n"
"Language-Team: \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: \n" "Plural-Forms: \n"
#. module: pos_customer_display
#: help:pos.config,customer_display_msg_next_l2:0
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"
#. module: pos_customer_display
#: help:pos.config,customer_display_msg_closed_l2:0
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"
#. module: pos_customer_display #. module: pos_customer_display
#. openerp-web #. openerp-web
#: code:addons/pos_customer_display/static/src/js/customer_display.js:58
#: code:addons/pos_customer_display/static/src/js/customer_display.js:56
#, python-format #, python-format
msgid "Cancel Payment" msgid "Cancel Payment"
msgstr "Paiement annulé" msgstr "Paiement annulé"
#. module: pos_customer_display #. module: pos_customer_display
#: view:pos.config:pos_customer_display.view_pos_config_form2
#: field:pos.config,iface_customer_display:0 #: field:pos.config,iface_customer_display:0
msgid "Customer Display" msgid "Customer Display"
msgstr "Afficheur client" msgstr "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:42
#: code:addons/pos_customer_display/static/src/js/customer_display.js:41
#, python-format #, python-format
msgid "Delete Item" msgid "Delete Item"
msgstr "Article supprimé" msgstr "Article supprimé"
@ -53,40 +64,68 @@ msgstr "Longueur des lignes de l'afficheur client: nombre de caractères"
#. module: pos_customer_display #. module: pos_customer_display
#: field:pos.config,customer_display_line_length:0 #: field:pos.config,customer_display_line_length:0
msgid "Line Length"
msgstr "Longueur des lignes"
msgid "Line Length of the Customer Display"
msgstr "Longueur de ligne de l'afficheur client"
#. module: pos_customer_display #. module: pos_customer_display
#. openerp-web
#: code:addons/pos_customer_display/static/src/js/customer_display.js:71
#: code:addons/pos_customer_display/pos_customer_display.py:63
#: field:pos.config,customer_display_msg_next_l2:0
#, python-format #, python-format
msgid "Next Customer"
msgstr "Client suivant"
msgid "Next Customer (bottom line)"
msgstr "Client suivant (ligne du bas)"
#. module: pos_customer_display #. module: pos_customer_display
#. openerp-web
#: code:addons/pos_customer_display/static/src/js/customer_display.js:83
#: code:addons/pos_customer_display/pos_customer_display.py:62
#: field:pos.config,customer_display_msg_next_l1:0
#, python-format #, python-format
msgid "Point of Sale Closed"
msgstr "Caisse fermée"
msgid "Next Customer (top line)"
msgstr "Client suivant (ligne du haut)"
#. module: pos_customer_display #. module: pos_customer_display
#. openerp-web
#: code:addons/pos_customer_display/static/src/js/customer_display.js:77
#: code:addons/pos_customer_display/pos_customer_display.py:66
#: field:pos.config,customer_display_msg_closed_l2:0
#, python-format
msgid "POS Closed (bottom line)"
msgstr "Caisse fermée (ligne du bas)"
#. module: pos_customer_display
#: code:addons/pos_customer_display/pos_customer_display.py:65
#: field:pos.config,customer_display_msg_closed_l1:0
#, python-format #, python-format
msgid "Point of Sale Open"
msgstr "Caisse ouverte"
msgid "POS Closed (top line)"
msgstr "Caisse fermée (ligne du haut)"
#. module: pos_customer_display
#: view:pos.config:pos_customer_display.view_pos_config_form2
msgid "Receipt"
msgstr "Reçu"
#. module: pos_customer_display #. module: pos_customer_display
#. openerp-web #. openerp-web
#: code:addons/pos_customer_display/static/src/js/customer_display.js:50
#: code:addons/pos_customer_display/static/src/js/customer_display.js:48
#, python-format #, python-format
msgid "TOTAL: " msgid "TOTAL: "
msgstr "TOTAL : " msgstr "TOTAL : "
#. module: pos_customer_display
#: code:addons/pos_customer_display/pos_customer_display.py:72
#, 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
#: help:pos.config,customer_display_msg_next_l1:0
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 démarrage de la caisse et également après validation d'une commande client"
#. module: pos_customer_display
#: help:pos.config,customer_display_msg_closed_l1:0
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 caisse est fermée"
#. module: pos_customer_display #. module: pos_customer_display
#. openerp-web #. openerp-web
#: code:addons/pos_customer_display/static/src/js/customer_display.js:65
#: code:addons/pos_customer_display/static/src/js/customer_display.js:63
#, python-format #, python-format
msgid "Your Change:" msgid "Your Change:"
msgstr "Monnaie à rendre :" msgstr "Monnaie à rendre :"

71
pos_customer_display/i18n/pos_customer_display.pot

@ -6,8 +6,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Odoo Server 8.0\n" "Project-Id-Version: Odoo Server 8.0\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-05-16 23:24+0000\n"
"PO-Revision-Date: 2015-05-16 23:24+0000\n"
"POT-Creation-Date: 2015-06-13 22:11+0000\n"
"PO-Revision-Date: 2015-06-13 22:11+0000\n"
"Last-Translator: <>\n" "Last-Translator: <>\n"
"Language-Team: \n" "Language-Team: \n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@ -15,21 +15,32 @@ msgstr ""
"Content-Transfer-Encoding: \n" "Content-Transfer-Encoding: \n"
"Plural-Forms: \n" "Plural-Forms: \n"
#. module: pos_customer_display
#: help:pos.config,customer_display_msg_next_l2:0
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
#: help:pos.config,customer_display_msg_closed_l2:0
msgid "Bottom line of the message on the customer display which is displayed when POS is closed"
msgstr ""
#. module: pos_customer_display #. module: pos_customer_display
#. openerp-web #. openerp-web
#: code:addons/pos_customer_display/static/src/js/customer_display.js:58
#: code:addons/pos_customer_display/static/src/js/customer_display.js:56
#, python-format #, python-format
msgid "Cancel Payment" msgid "Cancel Payment"
msgstr "" msgstr ""
#. module: pos_customer_display #. module: pos_customer_display
#: view:pos.config:pos_customer_display.view_pos_config_form2
#: field:pos.config,iface_customer_display:0 #: field:pos.config,iface_customer_display:0
msgid "Customer Display" msgid "Customer Display"
msgstr "" msgstr ""
#. module: pos_customer_display #. module: pos_customer_display
#. openerp-web #. openerp-web
#: code:addons/pos_customer_display/static/src/js/customer_display.js:42
#: code:addons/pos_customer_display/static/src/js/customer_display.js:41
#, python-format #, python-format
msgid "Delete Item" msgid "Delete Item"
msgstr "" msgstr ""
@ -53,40 +64,68 @@ msgstr ""
#. module: pos_customer_display #. module: pos_customer_display
#: field:pos.config,customer_display_line_length:0 #: field:pos.config,customer_display_line_length:0
msgid "Line Length"
msgid "Line Length of the Customer Display"
msgstr "" msgstr ""
#. module: pos_customer_display #. module: pos_customer_display
#. openerp-web
#: code:addons/pos_customer_display/static/src/js/customer_display.js:71
#: code:addons/pos_customer_display/pos_customer_display.py:63
#: field:pos.config,customer_display_msg_next_l2:0
#, python-format #, python-format
msgid "Next Customer"
msgid "Next Customer (bottom line)"
msgstr "" msgstr ""
#. module: pos_customer_display #. module: pos_customer_display
#. openerp-web
#: code:addons/pos_customer_display/static/src/js/customer_display.js:83
#: code:addons/pos_customer_display/pos_customer_display.py:62
#: field:pos.config,customer_display_msg_next_l1:0
#, python-format #, python-format
msgid "Point of Sale Closed"
msgid "Next Customer (top line)"
msgstr "" msgstr ""
#. module: pos_customer_display #. module: pos_customer_display
#. openerp-web
#: code:addons/pos_customer_display/static/src/js/customer_display.js:77
#: code:addons/pos_customer_display/pos_customer_display.py:66
#: field:pos.config,customer_display_msg_closed_l2:0
#, python-format
msgid "POS Closed (bottom line)"
msgstr ""
#. module: pos_customer_display
#: code:addons/pos_customer_display/pos_customer_display.py:65
#: field:pos.config,customer_display_msg_closed_l1:0
#, python-format #, python-format
msgid "Point of Sale Open"
msgid "POS Closed (top line)"
msgstr ""
#. module: pos_customer_display
#: view:pos.config:pos_customer_display.view_pos_config_form2
msgid "Receipt"
msgstr "" msgstr ""
#. module: pos_customer_display #. module: pos_customer_display
#. openerp-web #. openerp-web
#: code:addons/pos_customer_display/static/src/js/customer_display.js:50
#: code:addons/pos_customer_display/static/src/js/customer_display.js:48
#, python-format #, python-format
msgid "TOTAL: " msgid "TOTAL: "
msgstr "" msgstr ""
#. module: pos_customer_display
#: code:addons/pos_customer_display/pos_customer_display.py:72
#, 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
#: help:pos.config,customer_display_msg_next_l1:0
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
#: help:pos.config,customer_display_msg_closed_l1:0
msgid "Top line of the message on the customer display which is displayed when POS is closed"
msgstr ""
#. module: pos_customer_display #. module: pos_customer_display
#. openerp-web #. openerp-web
#: code:addons/pos_customer_display/static/src/js/customer_display.js:65
#: code:addons/pos_customer_display/static/src/js/customer_display.js:63
#, python-format #, python-format
msgid "Your Change:" msgid "Your Change:"
msgstr "" msgstr ""

45
pos_customer_display/pos_customer_display.py

@ -21,7 +21,8 @@
# #
############################################################################## ##############################################################################
from openerp import models, fields
from openerp import models, fields, api, _
from openerp.exceptions import ValidationError
class PosConfig(models.Model): class PosConfig(models.Model):
@ -30,5 +31,45 @@ class PosConfig(models.Model):
iface_customer_display = fields.Boolean( iface_customer_display = fields.Boolean(
string='Customer Display', help="Display data on the customer display") string='Customer Display', help="Display data on the customer display")
customer_display_line_length = fields.Integer( customer_display_line_length = fields.Integer(
string='Line Length', default=20,
string='Line Length of the Customer Display', default=20,
help="Length of the LEDs lines of the customer display") help="Length of the LEDs lines of the customer display")
customer_display_msg_next_l1 = fields.Char(
string="Next Customer (top line)", default="Welcome!",
help="Top 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 (bottom line)", default="Point of Sale Open",
help="Bottom 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 (top line)", default="Point of Sale Closed",
help="Top 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 (bottom line)", default="See you soon!",
help="Bottom line of the message on the customer display which "
"is displayed when POS is closed")
@api.one
@api.constrains(
'customer_display_line_length',
'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):
if self.customer_display_line_length:
maxsize = self.customer_display_line_length
to_check = {
_('Next Customer (top line)'): self.customer_display_msg_next_l1,
_('Next Customer (bottom line)'):
self.customer_display_msg_next_l2,
_('POS Closed (top line)'): self.customer_display_msg_closed_l1,
_('POS Closed (bottom line)'):
self.customer_display_msg_closed_l2,
}
for field, msg in to_check.iteritems():
if msg and len(msg) > maxsize:
raise ValidationError(
_("The message for customer display '%s' is too "
"long: it has %d chars whereas the maximum "
"is %d chars.")
% (field, len(msg), maxsize))

36
pos_customer_display/static/src/js/customer_display.js

@ -66,20 +66,20 @@ openerp.pos_customer_display = function(instance){
} else if (type == 'pushOrder') { } else if (type == 'pushOrder') {
var lines_to_send = new Array( var lines_to_send = new Array(
this.proxy.align_center(_t("Next Customer"), line_length),
this.proxy.align_left(' ', line_length)
this.proxy.align_center(this.config.customer_display_msg_next_l1, line_length),
this.proxy.align_center(this.config.customer_display_msg_next_l2, line_length)
); );
} else if (type == 'openPOS') { } else if (type == 'openPOS') {
var lines_to_send = new Array( var lines_to_send = new Array(
this.proxy.align_center(_t("Point of Sale Open"), line_length),
this.proxy.align_left(' ', line_length)
this.proxy.align_center(this.config.customer_display_msg_next_l1, line_length),
this.proxy.align_center(this.config.customer_display_msg_next_l2, line_length)
); );
} else if (type = 'closePOS') { } else if (type = 'closePOS') {
var lines_to_send = new Array( var lines_to_send = new Array(
this.proxy.align_center(_t("Point of Sale Closed"), line_length),
this.proxy.align_left(' ', line_length)
this.proxy.align_center(this.config.customer_display_msg_closed_l1, line_length),
this.proxy.align_center(this.config.customer_display_msg_closed_l2, line_length)
); );
} else { } else {
console.warn('Unknown message type'); console.warn('Unknown message type');
@ -116,15 +116,19 @@ openerp.pos_customer_display = function(instance){
if (string) { if (string) {
if (string.length > length) if (string.length > length)
{ {
return string.substring(0,length);
string = string.substring(0,length);
} }
else if (string.length < length) else if (string.length < length)
{ {
while(string.length < length) while(string.length < length)
string = string + ' '; string = string + ' ';
return string;
} }
} }
else {
string = ' '
while(string.length < length)
string = ' ' + string;
}
return string; return string;
}, },
@ -132,15 +136,19 @@ openerp.pos_customer_display = function(instance){
if (string) { if (string) {
if (string.length > length) if (string.length > length)
{ {
return string.substring(0,length);
string = string.substring(0,length);
} }
else if (string.length < length) else if (string.length < length)
{ {
while(string.length < length) while(string.length < length)
string = ' ' + string; string = ' ' + string;
return string;
} }
} }
else {
string = ' '
while(string.length < length)
string = ' ' + string;
}
return string; return string;
}, },
@ -148,7 +156,7 @@ openerp.pos_customer_display = function(instance){
if (string) { if (string) {
if (string.length > length) if (string.length > length)
{ {
return string.substring(0, length);
string = string.substring(0, length);
} }
else if (string.length < length) else if (string.length < length)
{ {
@ -157,9 +165,13 @@ openerp.pos_customer_display = function(instance){
string = ' ' + string; string = ' ' + string;
while(string.length < length) while(string.length < length)
string = string + ' '; string = string + ' ';
return string;
} }
} }
else {
string = ' '
while(string.length < length)
string = ' ' + string;
}
return string; return string;
}, },
}); });

Loading…
Cancel
Save