From 8a32f9af088ce639bc0ab7c7483fd424c912d425 Mon Sep 17 00:00:00 2001 From: Sylvain LE GAL Date: Thu, 8 Jun 2017 15:50:13 +0200 Subject: [PATCH] [ADD] new module pos_store_draft_order (#49) * [ADD] new module pos_slate; * [REF] change file headers according to the new name of the module; * [FIX] bad terminology; * [REF] Oca convention; * [REF] remove useless headers in init files, to reduce the size of the cloud; * [REF] use new API; [REF] move documentation from openerp manifest file to readme rst file; [ADD] screenshot images and some sentences to describe the module; * [FIX] bad folder for images; * [FIX] readme file; * [REF] improve description; * [FIX] description; * [REF] rename module and improve tests; * [FIX] flake8 --- pos_store_draft_order/README.rst | 109 ++++++++++++++++++ pos_store_draft_order/__init__.py | 2 + pos_store_draft_order/__openerp__.py | 41 +++++++ pos_store_draft_order/demo/pos_config.yml | 24 ++++ pos_store_draft_order/i18n/fr.po | 48 ++++++++ .../i18n/pos_store_draft_order.pot | 51 ++++++++ pos_store_draft_order/model/__init__.py | 4 + pos_store_draft_order/model/pos_config.py | 36 ++++++ pos_store_draft_order/model/pos_order.py | 40 +++++++ pos_store_draft_order/model/pos_session.py | 67 +++++++++++ .../static/description/1_before_closing.png | Bin 0 -> 23894 bytes .../static/description/2_after_closing.png | Bin 0 -> 23848 bytes .../static/description/3_after_opening.png | Bin 0 -> 27249 bytes .../static/description/icon.png | Bin 0 -> 4525 bytes .../static/description/pos_order_states.png | Bin 0 -> 19080 bytes pos_store_draft_order/tests/__init__.py | 2 + .../tests/test_pos_store_draft_order.py | 95 +++++++++++++++ pos_store_draft_order/view/view.xml | 49 ++++++++ 18 files changed, 568 insertions(+) create mode 100644 pos_store_draft_order/README.rst create mode 100644 pos_store_draft_order/__init__.py create mode 100644 pos_store_draft_order/__openerp__.py create mode 100644 pos_store_draft_order/demo/pos_config.yml create mode 100644 pos_store_draft_order/i18n/fr.po create mode 100644 pos_store_draft_order/i18n/pos_store_draft_order.pot create mode 100644 pos_store_draft_order/model/__init__.py create mode 100644 pos_store_draft_order/model/pos_config.py create mode 100644 pos_store_draft_order/model/pos_order.py create mode 100644 pos_store_draft_order/model/pos_session.py create mode 100644 pos_store_draft_order/static/description/1_before_closing.png create mode 100644 pos_store_draft_order/static/description/2_after_closing.png create mode 100644 pos_store_draft_order/static/description/3_after_opening.png create mode 100644 pos_store_draft_order/static/description/icon.png create mode 100644 pos_store_draft_order/static/description/pos_order_states.png create mode 100644 pos_store_draft_order/tests/__init__.py create mode 100644 pos_store_draft_order/tests/test_pos_store_draft_order.py create mode 100644 pos_store_draft_order/view/view.xml diff --git a/pos_store_draft_order/README.rst b/pos_store_draft_order/README.rst new file mode 100644 index 00000000..13f5ca3b --- /dev/null +++ b/pos_store_draft_order/README.rst @@ -0,0 +1,109 @@ +.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 + +================================== +Point Of Sale - Store Draft Orders +================================== + +Allow to close a Session even if there are some PoS Orders in draft state. + +By default, in Odoo, All PoS Orders must be in 'paid' or 'invoiced' state to +allow user to close the session. + +This module can be usefull to let Orders in draft 'state' for some customers. + +Feature +------- + +1. New computed field 'is_partial_paid' on PoS Order + +* This field is True, if the PoS order is in a draft state with some + payments; +* Forbid to close a session if there is a partial paid Order, to avoid to have + Account Move Lines that can not be reconciled; +* In the tree view, the partial_paid orders are displayed in red colors; + +.. image:: ./static/description/pos_order_states.png + :alt: Blue, red and black orders depending of payments. + +2. Possibility to close session + +* if a PoS order is in a 'draft' state (without any payment), the PoS Order + will be unassociated to the current session, when closing the session; +* When opening a new session, the PoS Orders in 'draft' state will be + associated to the new session, based on the user_id; + +**Workflow** + +* The PoS order 'Main/0004' is in draft state, before closing the session +.. image:: ./static/description/1_before_closing.png + +* The PoS order is unassociated of the closed session 'POS/2015/09/05/01' +.. image:: ./static/description/2_after_closing.png + +* The PoS order is associated to the new opened session 'POS/2015/09/05/02' +.. image:: ./static/description/3_after_opening.png + +Installation +============ + +This module will allow users to let orders in a draft state, only for orders +created in back-office. +If you want the same feature for the front-office PoS, please install both +modules : 'pos_store_draft_order' and 'pos_order_load'. + +Configuration +============= + +* A new field 'allow_store_draft_order' is available in PoS Config Model, to + allow or block the cashier to let Orders in a draft state when closing + session; + +Usage +===== + +To use this module, you need to: + +* go to ... + +.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas + :alt: Try me on Runbot + :target: https://runbot.odoo-community.org/runbot/xxxx/8.0 + +For further information, please visit: + +* https://www.odoo.com/forum/help-1 + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues `_. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us smashing it by providing a detailed and welcomed feedback +`here `_. + + +Credits +======= + +Contributors +------------ + +* Sylvain LE GAL (https://twitter.com/legalsylvain) +* Julien WESTE + +Maintainer +---------- + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +This module is maintained by the OCA. + +OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use. + +To contribute to this module, please visit http://odoo-community.org. diff --git a/pos_store_draft_order/__init__.py b/pos_store_draft_order/__init__.py new file mode 100644 index 00000000..630e671d --- /dev/null +++ b/pos_store_draft_order/__init__.py @@ -0,0 +1,2 @@ +# -*- encoding: utf-8 -*- +from . import model diff --git a/pos_store_draft_order/__openerp__.py b/pos_store_draft_order/__openerp__.py new file mode 100644 index 00000000..17c9ec22 --- /dev/null +++ b/pos_store_draft_order/__openerp__.py @@ -0,0 +1,41 @@ +# -*- encoding: utf-8 -*- +############################################################################## +# +# Point Of Sale - Store Draft Orders Module for Odoo +# Copyright (C) 2013-Today GRAP (http://www.grap.coop) +# @author Julien WESTE +# @author Sylvain LE GAL (https://twitter.com/legalsylvain) +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +############################################################################## + +{ + 'name': 'Point Of Sale - Store Draft Orders', + 'version': '8.0.1.0.0', + 'category': 'Point of Sale', + 'summary': "Allow users to close session with Draft Orders", + 'author': 'GRAP,Odoo Community Association (OCA)', + 'website': 'http://www.odoo-community.org', + 'license': 'AGPL-3', + 'depends': [ + 'point_of_sale', + ], + 'data': [ + 'view/view.xml', + ], + 'demo': [ + 'demo/pos_config.yml', + ], +} diff --git a/pos_store_draft_order/demo/pos_config.yml b/pos_store_draft_order/demo/pos_config.yml new file mode 100644 index 00000000..fdf683e7 --- /dev/null +++ b/pos_store_draft_order/demo/pos_config.yml @@ -0,0 +1,24 @@ +# -*- encoding: utf-8 -*- +############################################################################## +# +# Point Of Sale - Store Draft Orders Module for Odoo +# Copyright (C) 2015-Today GRAP (http://www.grap.coop) +# @author Sylvain LE GAL (https://twitter.com/legalsylvain) +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +############################################################################## + +- !record {model: pos.config, id: point_of_sale.pos_config_main}: + allow_store_draft_order: True diff --git a/pos_store_draft_order/i18n/fr.po b/pos_store_draft_order/i18n/fr.po new file mode 100644 index 00000000..cc5efa45 --- /dev/null +++ b/pos_store_draft_order/i18n/fr.po @@ -0,0 +1,48 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * pos_store_draft_order +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 8.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-10-19 11:47+0000\n" +"PO-Revision-Date: 2015-10-19 11:47+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_store_draft_order +#: field:pos.config,allow_store_draft_order:0 +msgid "Allow to Store Draft Orders" +msgstr "Autoriser les ardoises" + +#. module: pos_store_draft_order +#: help:pos.config,allow_store_draft_order:0 +msgid "If you check this field, users will have the possibility to let some PoS orders in a draft state, and allow the customer to paid later.\n" +"Order in a draft state will not generate entries during the close of the session." +msgstr "Si vous cochez cette case, les utilisateurs auront la possibilité de laisser certaines ventes à l'état de brouillon, et autorisera le client à payer plus tard.\n" +"Ces ventes à l'état de brouillon ne génèrent pas d'écritures comptables lors de la clôture de la session." + +#. module: pos_store_draft_order +#: field:pos.order,is_partial_paid:0 +msgid "Is Partially Paid" +msgstr "Est partiellement payée" + +#. module: pos_store_draft_order +#: model:ir.model,name:pos_store_draft_order.model_pos_order +msgid "Point of Sale" +msgstr "Point de Vente" + +#. module: pos_store_draft_order +#: code:addons/pos_store_draft_order/model/pos_session.py:63 +#, python-format +msgid "You cannot confirm this session, because '%s' is still in 'draft' state with associated payments.\n" +"\n" +" Please finish to pay this Order first." +msgstr "Vous ne pouvez pas fermer cette session car '%s' est en brouillon avec des paiments.\n" +"\n" +"Merci de compléter les paiments." diff --git a/pos_store_draft_order/i18n/pos_store_draft_order.pot b/pos_store_draft_order/i18n/pos_store_draft_order.pot new file mode 100644 index 00000000..ac2c51a8 --- /dev/null +++ b/pos_store_draft_order/i18n/pos_store_draft_order.pot @@ -0,0 +1,51 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * pos_store_draft_order +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 8.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-10-19 11:52+0000\n" +"PO-Revision-Date: 2015-10-19 11:52+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_store_draft_order +#: field:pos.config,allow_store_draft_order:0 +msgid "Allow to Store Draft Orders" +msgstr "" + +#. module: pos_store_draft_order +#: help:pos.config,allow_store_draft_order:0 +msgid "If you check this field, users will have the possibility to let some PoS orders in a draft state, and allow the customer to paid later.\n" +"Order in a draft state will not generate entries during the close of the session." +msgstr "" + +#. module: pos_store_draft_order +#: field:pos.order,is_partial_paid:0 +msgid "Is Partially Paid" +msgstr "" + +#. module: pos_store_draft_order +#: model:ir.model,name:pos_store_draft_order.model_pos_order +msgid "Point of Sale" +msgstr "" + +#. module: pos_store_draft_order +#: code:addons/pos_store_draft_order/model/pos_session.py:63 +#, python-format +msgid "You cannot confirm this session, because '%s' is still in 'draft' state with associated payments.\n" +"\n" +" Please finish to pay this Order first." +msgstr "" + +#. module: pos_store_draft_order +#: view:pos.order:pos_store_draft_order.pos_order_view_form +msgid "red: is_partial_paid==True; blue: state=='draft'; gray: state in ('done','cancel'); black: state not in ('done','cancel')" +msgstr "" + diff --git a/pos_store_draft_order/model/__init__.py b/pos_store_draft_order/model/__init__.py new file mode 100644 index 00000000..fc11e61f --- /dev/null +++ b/pos_store_draft_order/model/__init__.py @@ -0,0 +1,4 @@ +# -*- encoding: utf-8 -*- +from . import pos_order +from . import pos_session +from . import pos_config diff --git a/pos_store_draft_order/model/pos_config.py b/pos_store_draft_order/model/pos_config.py new file mode 100644 index 00000000..0e3bf4ed --- /dev/null +++ b/pos_store_draft_order/model/pos_config.py @@ -0,0 +1,36 @@ +# -*- encoding: utf-8 -*- +############################################################################## +# +# Point Of Sale - Store Draft Orders Module for Odoo +# Copyright (C) 2013-Today GRAP (http://www.grap.coop) +# @author Julien WESTE +# @author Sylvain LE GAL (https://twitter.com/legalsylvain) +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +############################################################################## + +from openerp import fields, models + + +class PosConfig(models.Model): + _inherit = 'pos.config' + + # Column Section + allow_store_draft_order = fields.Boolean( + string='Allow to Store Draft Orders', help="If you check this field," + " users will have the possibility to let some PoS orders in a draft" + " state, and allow the customer to paid later.\n" + "Order in a draft state will not generate entries during the close" + " of the session.") diff --git a/pos_store_draft_order/model/pos_order.py b/pos_store_draft_order/model/pos_order.py new file mode 100644 index 00000000..4ff1aa75 --- /dev/null +++ b/pos_store_draft_order/model/pos_order.py @@ -0,0 +1,40 @@ +# -*- encoding: utf-8 -*- +############################################################################## +# +# Point Of Sale - Store Draft Orders Module for Odoo +# Copyright (C) 2013-Today GRAP (http://www.grap.coop) +# @author Julien WESTE +# @author Sylvain LE GAL (https://twitter.com/legalsylvain) +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +############################################################################## + +from openerp import api, fields, models + + +class PosOrder(models.Model): + _inherit = 'pos.order' + + # Column Section + is_partial_paid = fields.Boolean( + string='Is Partially Paid', compute='compute_is_partial_paid', + store=True) + + # Compute Section + @api.one + @api.depends('state', 'statement_ids') + def compute_is_partial_paid(self): + self.is_partial_paid =\ + (self.state == 'draft') and len(self.statement_ids) != 0 diff --git a/pos_store_draft_order/model/pos_session.py b/pos_store_draft_order/model/pos_session.py new file mode 100644 index 00000000..5cf5be85 --- /dev/null +++ b/pos_store_draft_order/model/pos_session.py @@ -0,0 +1,67 @@ +# -*- encoding: utf-8 -*- +############################################################################## +# +# Point Of Sale - Store Draft Orders Module for Odoo +# Copyright (C) 2013-Today GRAP (http://www.grap.coop) +# @author Julien WESTE +# @author Sylvain LE GAL (https://twitter.com/legalsylvain) +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +############################################################################## + +from openerp import api, models +from openerp.exceptions import Warning +from openerp.tools.translate import _ + + +class PosSession(models.Model): + _inherit = 'pos.session' + + # Overload Section + @api.model + def create(self, vals): + """Recover all PoS Order in 'draft' state and associate them to the new + Pos Session""" + order_obj = self.env['pos.order'] + + res = super(PosSession, self).create(vals) + draftOrders = order_obj.search([ + ('state', '=', 'draft'), ('user_id', '=', self._uid)]) + draftOrders.write({'session_id': res.id}) + + return res + + @api.multi + def wkf_action_closing_control(self): + """Remove all PoS Orders in 'draft' to the sessions we want + to close. + Check if there is any Partial Paid Orders""" + self._remove_session_from_draft_orders() + return super(PosSession, self).wkf_action_closing_control() + + # Custom Section + @api.one + def _remove_session_from_draft_orders(self): + for order in self.order_ids: + # Check if there is a partial payment + if order.is_partial_paid: + raise Warning(_( + "You cannot confirm this session, because '%s' is" + " still in 'draft' state with associated payments.\n\n" + " Please finish to pay this Order first." % (order.name))) + # remove session id on the current Order if it is in draft state + if order.state == 'draft' and\ + self.config_id.allow_store_draft_order: + order.write({'session_id': False}) diff --git a/pos_store_draft_order/static/description/1_before_closing.png b/pos_store_draft_order/static/description/1_before_closing.png new file mode 100644 index 0000000000000000000000000000000000000000..d61aeb02b384daf4c5819c70d12bf10afe37da28 GIT binary patch literal 23894 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

m%k1QLxjXg`tj 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 literal 0 HcmV?d00001 diff --git a/pos_store_draft_order/static/description/3_after_opening.png b/pos_store_draft_order/static/description/3_after_opening.png new file mode 100644 index 0000000000000000000000000000000000000000..c71499fee70acb7509a9f7fae86245e8b55eed42 GIT binary patch literal 27249 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 Cs;%Y# literal 0 HcmV?d00001 diff --git a/pos_store_draft_order/static/description/pos_order_states.png b/pos_store_draft_order/static/description/pos_order_states.png new file mode 100644 index 0000000000000000000000000000000000000000..2880c95a6e0355f1287f06df6fbe505bc83be14d GIT binary patch literal 19080 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 literal 0 HcmV?d00001 diff --git a/pos_store_draft_order/tests/__init__.py b/pos_store_draft_order/tests/__init__.py new file mode 100644 index 00000000..f818a6d8 --- /dev/null +++ b/pos_store_draft_order/tests/__init__.py @@ -0,0 +1,2 @@ +# -*- encoding: utf-8 -*- +from . import test_pos_store_draft_order diff --git a/pos_store_draft_order/tests/test_pos_store_draft_order.py b/pos_store_draft_order/tests/test_pos_store_draft_order.py new file mode 100644 index 00000000..aaee0bbd --- /dev/null +++ b/pos_store_draft_order/tests/test_pos_store_draft_order.py @@ -0,0 +1,95 @@ +# -*- encoding: utf-8 -*- +############################################################################## +# +# Point Of Sale - Store Draft Orders Module for Odoo +# Copyright (C) 2015-Today GRAP (http://www.grap.coop) +# @author Sylvain LE GAL (https://twitter.com/legalsylvain) +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +############################################################################## + +from openerp.exceptions import Warning +from openerp.tests.common import TransactionCase + + +class TestPosStoreDraftOrder(TransactionCase): + + def setUp(self): + super(TestPosStoreDraftOrder, self).setUp() + + self.session_obj = self.env['pos.session'] + self.order_obj = self.env['pos.order'] + + self.pos_config_id = self.ref('point_of_sale.pos_config_main') + self.product_id = self.ref('product.product_product_48') + self.cash_journal_id = self.ref('account.cash_journal') + + # Test Section + def test_01_allow_draft_order_unpaid(self): + """Test the possibility to let a PoS Order in a draft state if it is + not paid at all.""" + # Open a new session + session_1 = self.session_obj.create({'config_id': self.pos_config_id}) + + # Create Order + order = self.order_obj.create({ + 'session_id': session_1.id, + 'lines': [[0, False, { + 'discount': 0, + 'price_unit': 10, + 'product_id': self.product_id, + 'qty': 1}]] + }) + + # Close Session + session_1.signal_workflow('close') + + self.assertEquals( + session_1.state, 'closed', + "Unpaid Draft Orders must not block the closing process of the" + " associated session.") + + # Open a second session + session_2 = self.session_obj.create({'config_id': self.pos_config_id}) + + self.assertEquals( + order.session_id.id, session_2.id, + "Draft Orders of a previous session must be associated to the" + " new opened session to allow payment.") + + # Test Section + def test_02_block_draft_order_partial_paid(self): + """Test the unpossibility to let a PoS Order in a draft state if it is + in a partial paid state.""" + # Open a new session + session_1 = self.session_obj.create({'config_id': self.pos_config_id}) + + # Create Order + order = self.order_obj.create({ + 'session_id': session_1.id, + 'lines': [[0, False, { + 'discount': 0, + 'price_unit': 10, + 'product_id': self.product_id, + 'qty': 3}]] + }) + + # Make partial payment + self.order_obj.add_payment( + order.id, {'amount': 1, 'journal': self.cash_journal_id}) + + # Try Close Session (Must fail) + with self.assertRaises(Warning): + session_1.signal_workflow('close') diff --git a/pos_store_draft_order/view/view.xml b/pos_store_draft_order/view/view.xml new file mode 100644 index 00000000..858d50e9 --- /dev/null +++ b/pos_store_draft_order/view/view.xml @@ -0,0 +1,49 @@ + + + + + + + + + + + + + + + + + + + + + + + + + pos.order + + + + + + + red: is_partial_paid==True; blue: state=='draft'; gray: state in ('done','cancel'); black: state not in ('done','cancel') + + + + + + + pos.config + + + + + + + + + +