diff --git a/pos_customer_required/__init__.py b/pos_customer_required/__init__.py new file mode 100644 index 00000000..0650744f --- /dev/null +++ b/pos_customer_required/__init__.py @@ -0,0 +1 @@ +from . import models diff --git a/pos_customer_required/__manifest__.py b/pos_customer_required/__manifest__.py new file mode 100644 index 00000000..2abacbf7 --- /dev/null +++ b/pos_customer_required/__manifest__.py @@ -0,0 +1,25 @@ +# Copyright (C) 2004-Today Apertoso NV () +# Copyright (C) 2016-Today: La Louve () +# Copyright (C) 2019-Today: Druidoo () +# @author: Jos DE GRAEVE () +# @author: Sylvain LE GAL (https://twitter.com/legalsylvain) +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html + +{ + 'name': 'Point of Sale Require Customer', + 'version': '12.0.1.0.0', + 'category': 'Point Of Sale', + 'summary': 'Point of Sale Require Customer', + 'author': 'Apertoso NV, La Louve, Odoo Community Association (OCA)', + 'website': 'https://github.com/OCA/pos', + 'license': 'AGPL-3', + 'depends': [ + 'point_of_sale', + ], + 'data': [ + 'static/src/xml/templates.xml', + 'views/pos_config_view.xml', + 'views/pos_order_view.xml', + ], + 'installable': True, +} diff --git a/pos_customer_required/i18n/ca.po b/pos_customer_required/i18n/ca.po new file mode 100644 index 00000000..63eeadd0 --- /dev/null +++ b/pos_customer_required/i18n/ca.po @@ -0,0 +1,111 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * pos_customer_required +# +# Translators: +# Marc Tormo i Bochaca , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-03-28 05:50+0000\n" +"PO-Revision-Date: 2017-03-28 05:50+0000\n" +"Last-Translator: Marc Tormo i Bochaca , 2017\n" +"Language-Team: Catalan (https://www.transifex.com/oca/teams/23907/ca/)\n" +"Language: ca\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_required +#. openerp-web +#: code:addons/pos_customer_required/static/src/js/pos_customer_required.js:25 +#, python-format +msgid "An anonymous order cannot be confirmed" +msgstr "Una comanda anònima no pot ser confirmada " + +#. module: pos_customer_required +#: code:addons/pos_customer_required/models/pos_make_payment.py:23 +#, python-format +msgid "" +"An anonymous order cannot be confirmed.\n" +"Please select a customer for this order." +msgstr "" +"Una comanda anònima no pot ser confirmada.\n" +"Si us plau seleccioneu un client per a aquesta comanda. " + +#. module: pos_customer_required +#: code:addons/pos_customer_required/models/pos_order.py:33 +#, python-format +msgid "Customer is required for this order and is missing." +msgstr "En necessari que hi hagi un client per a aquesta comanda i no hi és. " + +#. module: pos_customer_required +#: selection:pos.config,require_customer:0 +msgid "Optional" +msgstr "Opcional " + +#. module: pos_customer_required +#. openerp-web +#: code:addons/pos_customer_required/static/src/js/pos_customer_required.js:26 +#, python-format +msgid "Please select a customer for this order." +msgstr "Si us plau seleccioneu un client per a aquesta comanda. " + +#. module: pos_customer_required +#: model:ir.model,name:pos_customer_required.model_pos_order +msgid "Point of Sale" +msgstr "Punt de Venda " + +#. module: pos_customer_required +#: model:ir.model,name:pos_customer_required.model_pos_make_payment +msgid "Point of Sale Payment" +msgstr "Pagament del Punt de Venda " + +#. module: pos_customer_required +#: model:ir.model.fields,field_description:pos_customer_required.field_pos_config_require_customer +msgid "Require Customer" +msgstr "Client Requerit " + +#. module: pos_customer_required +#: model:ir.model.fields,field_description:pos_customer_required.field_pos_order_require_customer +msgid "Require customer" +msgstr "Client requerit " + +#. module: pos_customer_required +#: model:ir.model.fields,help:pos_customer_required.field_pos_config_require_customer +msgid "" +"Require customer for orders in this point of sale:\n" +"* 'Optional' (customer is optional);\n" +"* 'Required before paying';\n" +"* 'Required before starting the order';" +msgstr "" +"Requerir client per a comandes en aquest punt de venda:\n" +"* 'Opcional' (el client és opcional);\n" +"* 'Requerit abans de pagar';\n" +"* 'Requerit abans d'entrar la comanda';" + +#. module: pos_customer_required +#: selection:pos.config,require_customer:0 +msgid "Required before paying" +msgstr "Requerit abans de pagar " + +#. module: pos_customer_required +#: selection:pos.config,require_customer:0 +msgid "Required before starting the order" +msgstr "Requerit abans d'entrar la comanda " + +#. module: pos_customer_required +#: model:ir.model.fields,help:pos_customer_required.field_pos_order_require_customer +msgid "" +"True if a customer is required to begin the order.\n" +"See the PoS Config to change this setting" +msgstr "" +"Veritable si un client es demanat per començar la comanda.\n" +"Mireu la configuració del TPV per canviar aquest paràmetre " + +#. module: pos_customer_required +#: model:ir.model,name:pos_customer_required.model_pos_config +msgid "pos.config" +msgstr "pos.config" diff --git a/pos_customer_required/i18n/fr.po b/pos_customer_required/i18n/fr.po new file mode 100644 index 00000000..d68b344e --- /dev/null +++ b/pos_customer_required/i18n/fr.po @@ -0,0 +1,112 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * pos_customer_required +# +# Translators: +# OCA Transbot , 2016 +# leemannd , 2016 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-12-21 03:45+0000\n" +"PO-Revision-Date: 2016-12-21 03:45+0000\n" +"Last-Translator: leemannd , 2016\n" +"Language-Team: French (https://www.transifex.com/oca/teams/23907/fr/)\n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: pos_customer_required +#. openerp-web +#: code:addons/pos_customer_required/static/src/js/pos_customer_required.js:25 +#, python-format +msgid "An anonymous order cannot be confirmed" +msgstr "Une commande anonyme ne peut pas être confirmée" + +#. module: pos_customer_required +#: code:addons/pos_customer_required/models/pos_make_payment.py:23 +#, python-format +msgid "" +"An anonymous order cannot be confirmed.\n" +"Please select a customer for this order." +msgstr "" +"Une commande anonyme ne peut pas être confirmée\n" +"Sélectionnez un client pour cette commande." + +#. module: pos_customer_required +#: code:addons/pos_customer_required/models/pos_order.py:33 +#, python-format +msgid "Customer is required for this order and is missing." +msgstr "Un client est requis et manquant." + +#. module: pos_customer_required +#: selection:pos.config,require_customer:0 +msgid "Optional" +msgstr "Facultatif" + +#. module: pos_customer_required +#. openerp-web +#: code:addons/pos_customer_required/static/src/js/pos_customer_required.js:26 +#, python-format +msgid "Please select a customer for this order." +msgstr "Sélectionnez un client pour cette commande." + +#. module: pos_customer_required +#: model:ir.model,name:pos_customer_required.model_pos_order +msgid "Point of Sale" +msgstr "Point de vente" + +#. module: pos_customer_required +#: model:ir.model,name:pos_customer_required.model_pos_make_payment +msgid "Point of Sale Payment" +msgstr "Paiement du ticket" + +#. module: pos_customer_required +#: model:ir.model.fields,field_description:pos_customer_required.field_pos_config_require_customer +msgid "Require Customer" +msgstr "Client requis" + +#. module: pos_customer_required +#: model:ir.model.fields,field_description:pos_customer_required.field_pos_order_require_customer +msgid "Require customer" +msgstr "Client requis" + +#. module: pos_customer_required +#: model:ir.model.fields,help:pos_customer_required.field_pos_config_require_customer +msgid "" +"Require customer for orders in this point of sale:\n" +"* 'Optional' (customer is optional);\n" +"* 'Required before paying';\n" +"* 'Required before starting the order';" +msgstr "" +"Client requis pour les commandes de ce terminal de point de vente:\n" +"* 'Optionnel' (Le client est optionnel);\n" +"* 'Le client est requis avant le payement';\n" +"* 'Le client est requis avant de commencer la commande';" + +#. module: pos_customer_required +#: selection:pos.config,require_customer:0 +msgid "Required before paying" +msgstr "Requis avant de payer" + +#. module: pos_customer_required +#: selection:pos.config,require_customer:0 +msgid "Required before starting the order" +msgstr "Requis avant de commencer la vente" + +#. module: pos_customer_required +#: model:ir.model.fields,help:pos_customer_required.field_pos_order_require_customer +msgid "" +"True if a customer is required to begin the order.\n" +"See the PoS Config to change this setting" +msgstr "" +"Vrai si un client est requis pour commencer une vente.\n" +"Voir la configuration du point de vente pour changer ce paramètre." + +#. module: pos_customer_required +#: model:ir.model,name:pos_customer_required.model_pos_config +msgid "pos.config" +msgstr "pos.config" diff --git a/pos_customer_required/i18n/nl_NL.po b/pos_customer_required/i18n/nl_NL.po new file mode 100644 index 00000000..82f4b4f0 --- /dev/null +++ b/pos_customer_required/i18n/nl_NL.po @@ -0,0 +1,104 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * pos_customer_required +# +# Translators: +# OCA Transbot , 2016 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-12-13 19:57+0000\n" +"PO-Revision-Date: 2016-12-13 19:57+0000\n" +"Last-Translator: OCA Transbot , 2016\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_required +#. openerp-web +#: code:addons/pos_customer_required/static/src/js/pos_customer_required.js:25 +#, python-format +msgid "An anonymous order cannot be confirmed" +msgstr "Een anoniem kassa order kan niet worden bevestigd" + +#. module: pos_customer_required +#: code:addons/pos_customer_required/models/pos_make_payment.py:23 +#, python-format +msgid "" +"An anonymous order cannot be confirmed.\n" +"Please select a customer for this order." +msgstr "" + +#. module: pos_customer_required +#: code:addons/pos_customer_required/models/pos_order.py:33 +#, python-format +msgid "Customer is required for this order and is missing." +msgstr "" + +#. module: pos_customer_required +#: selection:pos.config,require_customer:0 +msgid "Optional" +msgstr "" + +#. module: pos_customer_required +#. openerp-web +#: code:addons/pos_customer_required/static/src/js/pos_customer_required.js:26 +#, python-format +msgid "Please select a customer for this order." +msgstr "" + +#. module: pos_customer_required +#: model:ir.model,name:pos_customer_required.model_pos_order +msgid "Point of Sale" +msgstr "Kassa" + +#. module: pos_customer_required +#: model:ir.model,name:pos_customer_required.model_pos_make_payment +msgid "Point of Sale Payment" +msgstr "" + +#. module: pos_customer_required +#: model:ir.model.fields,field_description:pos_customer_required.field_pos_config_require_customer +msgid "Require Customer" +msgstr "" + +#. module: pos_customer_required +#: model:ir.model.fields,field_description:pos_customer_required.field_pos_order_require_customer +msgid "Require customer" +msgstr "Klant verplichten" + +#. module: pos_customer_required +#: model:ir.model.fields,help:pos_customer_required.field_pos_config_require_customer +msgid "" +"Require customer for orders in this point of sale:\n" +"* 'Optional' (customer is optional);\n" +"* 'Required before paying';\n" +"* 'Required before starting the order';" +msgstr "" + +#. module: pos_customer_required +#: selection:pos.config,require_customer:0 +msgid "Required before paying" +msgstr "" + +#. module: pos_customer_required +#: selection:pos.config,require_customer:0 +msgid "Required before starting the order" +msgstr "" + +#. module: pos_customer_required +#: model:ir.model.fields,help:pos_customer_required.field_pos_order_require_customer +msgid "" +"True if a customer is required to begin the order.\n" +"See the PoS Config to change this setting" +msgstr "" + +#. module: pos_customer_required +#: model:ir.model,name:pos_customer_required.model_pos_config +msgid "pos.config" +msgstr "" diff --git a/pos_customer_required/i18n/pos_customer_required.pot b/pos_customer_required/i18n/pos_customer_required.pot new file mode 100644 index 00000000..a81bd39c --- /dev/null +++ b/pos_customer_required/i18n/pos_customer_required.pot @@ -0,0 +1,96 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * pos_customer_required +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: <>\n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: pos_customer_required +#. openerp-web +#: code:addons/pos_customer_required/static/src/js/pos_customer_required.js:25 +#, python-format +msgid "An anonymous order cannot be confirmed" +msgstr "" + +#. module: pos_customer_required +#: code:addons/pos_customer_required/models/pos_make_payment.py:23 +#, python-format +msgid "An anonymous order cannot be confirmed.\n" +"Please select a customer for this order." +msgstr "" + +#. module: pos_customer_required +#: code:addons/pos_customer_required/models/pos_order.py:33 +#, python-format +msgid "Customer is required for this order and is missing." +msgstr "" + +#. module: pos_customer_required +#: selection:pos.config,require_customer:0 +msgid "Optional" +msgstr "" + +#. module: pos_customer_required +#. openerp-web +#: code:addons/pos_customer_required/static/src/js/pos_customer_required.js:26 +#, python-format +msgid "Please select a customer for this order." +msgstr "" + +#. module: pos_customer_required +#: model:ir.model,name:pos_customer_required.model_pos_order +msgid "Point of Sale" +msgstr "" + +#. module: pos_customer_required +#: model:ir.model,name:pos_customer_required.model_pos_make_payment +msgid "Point of Sale Payment" +msgstr "" + +#. module: pos_customer_required +#: model:ir.model.fields,field_description:pos_customer_required.field_pos_config_require_customer +msgid "Require Customer" +msgstr "" + +#. module: pos_customer_required +#: model:ir.model.fields,field_description:pos_customer_required.field_pos_order_require_customer +msgid "Require customer" +msgstr "" + +#. module: pos_customer_required +#: model:ir.model.fields,help:pos_customer_required.field_pos_config_require_customer +msgid "Require customer for orders in this point of sale:\n" +"* 'Optional' (customer is optional);\n" +"* 'Required before paying';\n" +"* 'Required before starting the order';" +msgstr "" + +#. module: pos_customer_required +#: selection:pos.config,require_customer:0 +msgid "Required before paying" +msgstr "" + +#. module: pos_customer_required +#: selection:pos.config,require_customer:0 +msgid "Required before starting the order" +msgstr "" + +#. module: pos_customer_required +#: model:ir.model.fields,help:pos_customer_required.field_pos_order_require_customer +msgid "True if a customer is required to begin the order.\n" +"See the PoS Config to change this setting" +msgstr "" + +#. module: pos_customer_required +#: model:ir.model,name:pos_customer_required.model_pos_config +msgid "pos.config" +msgstr "" + diff --git a/pos_customer_required/models/__init__.py b/pos_customer_required/models/__init__.py new file mode 100644 index 00000000..4831032c --- /dev/null +++ b/pos_customer_required/models/__init__.py @@ -0,0 +1,3 @@ +from . import pos_config +from . import pos_order +from . import pos_make_payment diff --git a/pos_customer_required/models/pos_config.py b/pos_customer_required/models/pos_config.py new file mode 100644 index 00000000..7b2103e7 --- /dev/null +++ b/pos_customer_required/models/pos_config.py @@ -0,0 +1,25 @@ +# Copyright (C) 2004-Today Apertoso NV () +# Copyright (C) 2016-Today: La Louve () +# Copyright (C) 2019-Today: Druidoo () +# @author: Jos DE GRAEVE () +# @author: Sylvain LE GAL (https://twitter.com/legalsylvain) +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from odoo import fields, models + + +class PosConfig(models.Model): + _inherit = 'pos.config' + + require_customer = fields.Selection([ + ('no', 'Optional'), + ('payment', 'Required before paying'), + ('order', 'Required before starting the order'), + ], + string='Require Customer', + default='no', + help="Require customer for orders in this point of sale:\n" + "* 'Optional' (customer is optional);\n" + "* 'Required before paying';\n" + "* 'Required before starting the order';", + ) diff --git a/pos_customer_required/models/pos_make_payment.py b/pos_customer_required/models/pos_make_payment.py new file mode 100644 index 00000000..d7548b95 --- /dev/null +++ b/pos_customer_required/models/pos_make_payment.py @@ -0,0 +1,27 @@ +# Copyright (C) 2016-Today: La Louve () +# Copyright (C) 2019-Today: Druidoo () +# @author: Sylvain LE GAL (https://twitter.com/legalsylvain) +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + + +from odoo import models, api, _ +from odoo.exceptions import UserError + + +class PosMakePayment(models.TransientModel): + _inherit = 'pos.make.payment' + + @api.multi + def check(self): + # Load current order + order_obj = self.env['pos.order'] + order = order_obj.browse(self.env.context.get('active_id', False)) + + # Check if control is required + if not order.partner_id\ + and order.session_id.config_id.require_customer != 'no': + raise UserError(_( + "An anonymous order cannot be confirmed.\n" + "Please select a customer for this order.")) + + return super(PosMakePayment, self).check() diff --git a/pos_customer_required/models/pos_order.py b/pos_customer_required/models/pos_order.py new file mode 100644 index 00000000..e2ce7945 --- /dev/null +++ b/pos_customer_required/models/pos_order.py @@ -0,0 +1,23 @@ +# Copyright (C) 2004-Today Apertoso NV () +# Copyright (C) 2016-Today: La Louve () +# Copyright (C) 2019-Today: Druidoo () +# @author: Jos DE GRAEVE () +# @author: Sylvain LE GAL (https://twitter.com/legalsylvain) +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from odoo import fields, models, exceptions, api, _ + + +class PosOrder(models.Model): + _inherit = 'pos.order' + + require_customer = fields.Selection( + related='session_id.config_id.require_customer', + ) + + @api.constrains('partner_id', 'require_customer') + def _check_partner(self): + for rec in self: + if rec.require_customer != 'no' and not rec.partner_id: + raise exceptions.ValidationError(_( + 'Customer is required for this order and is missing.')) diff --git a/pos_customer_required/readme/CONFIGURE.rst b/pos_customer_required/readme/CONFIGURE.rst new file mode 100644 index 00000000..3754a786 --- /dev/null +++ b/pos_customer_required/readme/CONFIGURE.rst @@ -0,0 +1,8 @@ +To configure this module, you need to: + +* go to point of sale -> configuration -> point of sales +* select the point of sales you want configure +* search for the "Require Customer" and choose between the following values: + * 'Optional'; (this module has no effect on this PoS config) + * 'Required before paying'; + * 'Required before starting the order'; diff --git a/pos_customer_required/readme/CONTRIBUTORS.rst b/pos_customer_required/readme/CONTRIBUTORS.rst new file mode 100644 index 00000000..4a36e6ea --- /dev/null +++ b/pos_customer_required/readme/CONTRIBUTORS.rst @@ -0,0 +1,4 @@ +* Jos De Graeve +* Sylvain LE GAL +* Pedro M. Baeza ( reviews & feedback ) +* Druidoo diff --git a/pos_customer_required/readme/DESCRIPTION.rst b/pos_customer_required/readme/DESCRIPTION.rst new file mode 100644 index 00000000..4f28974a --- /dev/null +++ b/pos_customer_required/readme/DESCRIPTION.rst @@ -0,0 +1,28 @@ +This module was written to extend the functionality of odoo pos +and allows you to require a customer for each pos order. In the +pos session configuration, you can choose to require the customer for pos +orders. + +If a customer is not selected, the pos ui will display an error message. +In the backend the customer field is required when needed. + +Two new options are available: + +* Customer 'Required before starting the order'; +* Customer 'Required before paying'; + +'Required before starting the order' Option +------------------------------------------- +In the frontend PoS, the default screen is the screen to select customers. + +* Users are not allowed to start selling before having selected a customer; +* Users can not 'deselect a customer', only select an other one; + +'Required before paying' Option +------------------------------- +In the frontend PoS, the user can start selling, but if the user tries to +make payment and if a customer is not selected, the pos ui will display an +error message. + + +.. image:: /pos_customer_required/static/description/frontend_pos_error_message.png diff --git a/pos_customer_required/readme/USAGE.rst b/pos_customer_required/readme/USAGE.rst new file mode 100644 index 00000000..8471f7f9 --- /dev/null +++ b/pos_customer_required/readme/USAGE.rst @@ -0,0 +1,3 @@ +.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas + :alt: Try me on Runbot + :target: https://runbot.odoo-community.org/runbot/184/9.0 diff --git a/pos_customer_required/static/description/frontend_pos_error_message.png b/pos_customer_required/static/description/frontend_pos_error_message.png new file mode 100644 index 00000000..823bb997 Binary files /dev/null and b/pos_customer_required/static/description/frontend_pos_error_message.png differ diff --git a/pos_customer_required/static/description/icon.png b/pos_customer_required/static/description/icon.png new file mode 100644 index 00000000..637d357b Binary files /dev/null and b/pos_customer_required/static/description/icon.png differ diff --git a/pos_customer_required/static/src/js/pos_customer_required.js b/pos_customer_required/static/src/js/pos_customer_required.js new file mode 100644 index 00000000..ff25b4a9 --- /dev/null +++ b/pos_customer_required/static/src/js/pos_customer_required.js @@ -0,0 +1,58 @@ +/* + Copyright (C) 2004-Today Apertoso NV () + Copyright (C) 2016-Today La Louve () + + @author: Jos DE GRAEVE () + @author: Sylvain LE GAL (https://twitter.com/legalsylvain) + + The licence is in the file __manifest__.py +*/ + + +odoo.define('pos_customer_required.pos_customer_required', function (require) { + "use strict"; + + var screens = require('point_of_sale.screens'); + var gui = require('point_of_sale.gui'); + var core = require('web.core'); + var _t = core._t; + + screens.PaymentScreenWidget.include({ + validate_order: function(options) { + if(this.pos.config.require_customer != 'no' + && !this.pos.get_order().get_client()){ + this.gui.show_popup('error',{ + 'title': _t('An anonymous order cannot be confirmed'), + 'body': _t('Please select a customer for this order.'), + }); + return; + } + return this._super(options); + } + }); + + /* + Because of clientlist screen behaviour, it is not possible to simply + use: set_default_screen('clientlist') + remove cancel button on + customer screen. + + Instead of, + - we overload the function : show_screen(screen_name,params,refresh), + - and we replace the required screen by the 'clientlist' screen if the + current PoS Order has no Customer. + */ + + var _show_screen_ = gui.Gui.prototype.show_screen; + gui.Gui.prototype.show_screen = function(screen_name, params, refresh){ + if(this.pos.config.require_customer == 'order' + && !this.pos.get_order().get_client() + && screen_name != 'clientlist'){ + // We call first the original screen, to avoid to break the + // 'previous screen' mecanism + _show_screen_.call(this, screen_name, params, refresh); + screen_name = 'clientlist'; + } + _show_screen_.call(this, screen_name, params, refresh); + }; + +}); diff --git a/pos_customer_required/static/src/xml/templates.xml b/pos_customer_required/static/src/xml/templates.xml new file mode 100644 index 00000000..9264a0b6 --- /dev/null +++ b/pos_customer_required/static/src/xml/templates.xml @@ -0,0 +1,20 @@ + + + + + +