From 72a0f536e7330dd5a06cecdad4a792209fc8c0ca Mon Sep 17 00:00:00 2001 From: Sylvain LE GAL Date: Thu, 15 Aug 2019 11:48:26 +0200 Subject: [PATCH] [MIG] pos_margin: Migration to 12.0 --- pos_margin/README.rst | 83 +----------------- pos_margin/__manifest__.py | 9 +- pos_margin/i18n/fr.po | 56 ++++++------ pos_margin/i18n/pos_margin.pot | 31 ++++--- pos_margin/models/pos_order.py | 2 +- pos_margin/models/pos_order_line.py | 28 ++++-- pos_margin/readme/CONTRIBUTORS.rst | 2 + pos_margin/readme/DESCRIPTION.rst | 5 ++ pos_margin/readme/HISTORY.rst | 8 ++ pos_margin/readme/ROADMAP.rst | 7 ++ pos_margin/readme/USAGE.rst | 7 ++ .../static/description/pos_order_form.png | Bin 28285 -> 30651 bytes pos_margin/tests/__init__.py | 1 + pos_margin/tests/test_module.py | 68 ++++++++++++++ pos_margin/views/view_pos_order.xml | 20 +++-- 15 files changed, 183 insertions(+), 144 deletions(-) create mode 100644 pos_margin/readme/CONTRIBUTORS.rst create mode 100644 pos_margin/readme/DESCRIPTION.rst create mode 100644 pos_margin/readme/HISTORY.rst create mode 100644 pos_margin/readme/ROADMAP.rst create mode 100644 pos_margin/readme/USAGE.rst create mode 100644 pos_margin/tests/__init__.py create mode 100644 pos_margin/tests/test_module.py diff --git a/pos_margin/README.rst b/pos_margin/README.rst index 4554966c..b97c0917 100644 --- a/pos_margin/README.rst +++ b/pos_margin/README.rst @@ -1,79 +1,4 @@ -.. 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 - -=================== -Margin on PoS order -=================== - -This module extends the functionality of point of sale to support margin on -pos orders. - -This gives the profitability by calculating the difference between the Unit -Price and Cost Price. - - -Usage -===== - -To use this module, you need to: - -#. Go to 'Point Of Sale' / 'Daily Operations' / 'Orders' -#. Open an order - -.. figure:: ./pos_margin/static/description/pos_order_form.png - :width: 800px - -.. 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/8.0 - - -Technical information -===================== - -This module is highly inspired from the module 'Sale Order Margin', by Odoo SA. - -Known issues / Roadmap -====================== - -* include extra reporting, using the new margin field. - -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 smash it by providing detailed and welcomed feedback. - -Credits -======= - -Contributors ------------- - -* Sylvain LE GAL (https://twitter.com/legalsylvain) - -Funders -------- - -The development of this module has been financially supported by: - -* GRAP, Groupement Régional Alimentaire de Proximité (www.grap.coop) - -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 https://odoo-community.org. - +.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! diff --git a/pos_margin/__manifest__.py b/pos_margin/__manifest__.py index 0ad87fba..38502c1b 100644 --- a/pos_margin/__manifest__.py +++ b/pos_margin/__manifest__.py @@ -3,16 +3,17 @@ # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). { - 'name': 'POS Margin', - 'version': '11.0.1.0.0', + 'name': 'PoS Order Margin', + 'summary': 'Margin on PoS Order', + 'version': '12.0.1.0.0', 'category': 'Point Of Sale', - 'sequence': 1, 'author': "GRAP," "Odoo Community Association (OCA)", - 'summary': 'Margin on PoS Order', + 'website': 'https://github.com/OCA/pos', 'license': 'AGPL-3', 'depends': [ 'point_of_sale', + 'sale_margin', ], 'data': [ 'views/view_pos_order.xml', diff --git a/pos_margin/i18n/fr.po b/pos_margin/i18n/fr.po index 33b5016d..d86a037a 100644 --- a/pos_margin/i18n/fr.po +++ b/pos_margin/i18n/fr.po @@ -1,67 +1,61 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: -# * pos_margin +# * pos_margin # -# Translators: -# OCA Transbot , 2017 msgid "" msgstr "" -"Project-Id-Version: Odoo Server 10.0\n" +"Project-Id-Version: Odoo Server 12.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 , 2017\n" -"Language-Team: French (https://www.transifex.com/oca/teams/23907/fr/)\n" -"Language: fr\n" +"POT-Creation-Date: 2019-08-15 11:05+0000\n" +"PO-Revision-Date: 2019-08-15 11:05+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: nplurals=2; plural=(n > 1);\n" +"Plural-Forms: \n" #. module: pos_margin -#: model:ir.model.fields,field_description:pos_margin.field_pos_order_line_purchase_price +#: model:ir.model.fields,field_description:pos_margin.field_pos_order_line__purchase_price msgid "Cost Price" msgstr "Prix de revient" #. module: pos_margin -#: model:ir.model.fields,help:pos_margin.field_pos_order_margin -msgid "" -"It gives profitability by calculating the difference between the Unit Price " -"and the cost price." +#: model:ir.model.fields,help:pos_margin.field_pos_order__margin +msgid "It gives profitability by calculating the difference between the Unit Price and the cost price." msgstr "" "Il donne la rentabilité en calculant la différence entre le prix unitaire et " "le prix de revient." #. module: pos_margin -#: model:ir.model,name:pos_margin.model_pos_order_line -#, fuzzy -msgid "Lines of Point of Sale Orders" -msgstr "Lignes de Points de Vente" - -#. module: pos_margin -#: model:ir.model.fields,field_description:pos_margin.field_pos_order_line_margin -#: model:ir.model.fields,field_description:pos_margin.field_pos_order_margin +#: model:ir.model.fields,field_description:pos_margin.field_pos_order__margin +#: model:ir.model.fields,field_description:pos_margin.field_pos_order_line__margin msgid "Margin" msgstr "Marge" #. module: pos_margin -#: model:ir.model.fields,field_description:pos_margin.field_report_pos_order_margin_rate -#, fuzzy +#: model:ir.model.fields,field_description:pos_margin.field_report_pos_order__margin_rate msgid "Margin Rate" -msgstr "Marge" +msgstr "Taux de marque" #. module: pos_margin -#: model:ir.model.fields,field_description:pos_margin.field_report_pos_order_margin_total -#, fuzzy +#: model:ir.model.fields,field_description:pos_margin.field_report_pos_order__margin_total +#: model_terms:ir.ui.view,arch_db:pos_margin.view_pos_order_tree msgid "Margin Total" -msgstr "Marge" +msgstr "Marge Totale" + +#. module: pos_margin +#: model:ir.model,name:pos_margin.model_pos_order_line +msgid "Point of Sale Order Lines" +msgstr "" #. module: pos_margin #: model:ir.model,name:pos_margin.model_pos_order msgid "Point of Sale Orders" -msgstr "" +msgstr "Commandes du point de vente" #. module: pos_margin #: model:ir.model,name:pos_margin.model_report_pos_order -msgid "Point of Sale Orders Statistics" +msgid "Point of Sale Orders Report" msgstr "" + diff --git a/pos_margin/i18n/pos_margin.pot b/pos_margin/i18n/pos_margin.pot index 2f5b529a..2e6bb4fa 100644 --- a/pos_margin/i18n/pos_margin.pot +++ b/pos_margin/i18n/pos_margin.pot @@ -1,11 +1,13 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: -# * pos_margin +# * pos_margin # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 11.0\n" +"Project-Id-Version: Odoo Server 12.0\n" "Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-08-15 11:04+0000\n" +"PO-Revision-Date: 2019-08-15 11:04+0000\n" "Last-Translator: <>\n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -14,36 +16,37 @@ msgstr "" "Plural-Forms: \n" #. module: pos_margin -#: model:ir.model.fields,field_description:pos_margin.field_pos_order_line_purchase_price +#: model:ir.model.fields,field_description:pos_margin.field_pos_order_line__purchase_price msgid "Cost Price" msgstr "" #. module: pos_margin -#: model:ir.model.fields,help:pos_margin.field_pos_order_margin +#: model:ir.model.fields,help:pos_margin.field_pos_order__margin msgid "It gives profitability by calculating the difference between the Unit Price and the cost price." msgstr "" #. module: pos_margin -#: model:ir.model,name:pos_margin.model_pos_order_line -msgid "Lines of Point of Sale Orders" -msgstr "" - -#. module: pos_margin -#: model:ir.model.fields,field_description:pos_margin.field_pos_order_line_margin -#: model:ir.model.fields,field_description:pos_margin.field_pos_order_margin +#: model:ir.model.fields,field_description:pos_margin.field_pos_order__margin +#: model:ir.model.fields,field_description:pos_margin.field_pos_order_line__margin msgid "Margin" msgstr "" #. module: pos_margin -#: model:ir.model.fields,field_description:pos_margin.field_report_pos_order_margin_rate +#: model:ir.model.fields,field_description:pos_margin.field_report_pos_order__margin_rate msgid "Margin Rate" msgstr "" #. module: pos_margin -#: model:ir.model.fields,field_description:pos_margin.field_report_pos_order_margin_total +#: model:ir.model.fields,field_description:pos_margin.field_report_pos_order__margin_total +#: model_terms:ir.ui.view,arch_db:pos_margin.view_pos_order_tree msgid "Margin Total" msgstr "" +#. module: pos_margin +#: model:ir.model,name:pos_margin.model_pos_order_line +msgid "Point of Sale Order Lines" +msgstr "" + #. module: pos_margin #: model:ir.model,name:pos_margin.model_pos_order msgid "Point of Sale Orders" @@ -51,6 +54,6 @@ msgstr "" #. module: pos_margin #: model:ir.model,name:pos_margin.model_report_pos_order -msgid "Point of Sale Orders Statistics" +msgid "Point of Sale Orders Report" msgstr "" diff --git a/pos_margin/models/pos_order.py b/pos_margin/models/pos_order.py index 63f570cc..e3f306bc 100644 --- a/pos_margin/models/pos_order.py +++ b/pos_margin/models/pos_order.py @@ -3,7 +3,7 @@ # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). from odoo import api, fields, models -import openerp.addons.decimal_precision as dp +import odoo.addons.decimal_precision as dp class PosOrder(models.Model): diff --git a/pos_margin/models/pos_order_line.py b/pos_margin/models/pos_order_line.py index 8510d6f3..ad83d80b 100644 --- a/pos_margin/models/pos_order_line.py +++ b/pos_margin/models/pos_order_line.py @@ -3,7 +3,7 @@ # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). from odoo import api, fields, models -import openerp.addons.decimal_precision as dp +import odoo.addons.decimal_precision as dp class PosOrderLine(models.Model): @@ -22,11 +22,21 @@ class PosOrderLine(models.Model): @api.multi @api.depends('product_id', 'qty', 'price_subtotal') def _compute_multi_margin(self): - for line in self: - if not line.product_id: - line.purchase_price = 0 - line.margin = 0 - else: - line.purchase_price = line.product_id.standard_price - line.margin = line.price_subtotal - ( - line.product_id.standard_price * line.qty) + for line in self.filtered(lambda x: x.product_id): + purchase_price = self._get_purchase_price(line) + line.purchase_price = purchase_price + line.margin = line.price_subtotal - (purchase_price * line.qty) + + @api.model + def _get_purchase_price(self, line): + # We call _get_purchase_price from sale_margin module, to reuse + # computation that handles multi currencies context and UoM + SaleOrderLine = self.env['sale.order.line'] + + # if used in combination with module which does add the uom_id to line + uom = hasattr(line, 'uom_id') and line.uom_id\ + or line.product_id.uom_id + + return SaleOrderLine._get_purchase_price( + line.order_id.pricelist_id, line.product_id, uom, + line.order_id.date_order)['purchase_price'] diff --git a/pos_margin/readme/CONTRIBUTORS.rst b/pos_margin/readme/CONTRIBUTORS.rst new file mode 100644 index 00000000..3b5f0996 --- /dev/null +++ b/pos_margin/readme/CONTRIBUTORS.rst @@ -0,0 +1,2 @@ +* Sylvain LE GAL (https://twitter.com/legalsylvain) +* Wolfgang Pichler diff --git a/pos_margin/readme/DESCRIPTION.rst b/pos_margin/readme/DESCRIPTION.rst new file mode 100644 index 00000000..48bcde4b --- /dev/null +++ b/pos_margin/readme/DESCRIPTION.rst @@ -0,0 +1,5 @@ +This module extends the functionality of point of sale to support margin on +pos orders. + +This gives the profitability by calculating the difference between the Unit +Price and Cost Price. diff --git a/pos_margin/readme/HISTORY.rst b/pos_margin/readme/HISTORY.rst new file mode 100644 index 00000000..04bbd269 --- /dev/null +++ b/pos_margin/readme/HISTORY.rst @@ -0,0 +1,8 @@ +12.0.1.0.0 +~~~~~~~~~~ + +* Migrate to V12.0 +* Reuse ``sale_margin`` computation to handle multi currency context. +* Correct computation of margin, if a module that adds ``uom_id`` on + ``pos.order.line`` is installed. +* Add test diff --git a/pos_margin/readme/ROADMAP.rst b/pos_margin/readme/ROADMAP.rst new file mode 100644 index 00000000..c01e849e --- /dev/null +++ b/pos_margin/readme/ROADMAP.rst @@ -0,0 +1,7 @@ +This module depends on ``sale_margin`` module to reuse algorithm present in the +function ``_get_purchase_price`` of the model ``sale.order.line`` to +compute correctly purchase price, in a multicurrency context. + +This dependency can be removed, when Odoo Core will be correctly refactored, +moving this ``@api.model`` function in a more generic module (``account`` +for exemple). diff --git a/pos_margin/readme/USAGE.rst b/pos_margin/readme/USAGE.rst new file mode 100644 index 00000000..e719a37a --- /dev/null +++ b/pos_margin/readme/USAGE.rst @@ -0,0 +1,7 @@ +To use this module, you need to: + +* Go to 'Point Of Sale' / 'Orders' / 'Orders' +* Open an order + +.. figure:: ../static/description/pos_order_form.png + :width: 800px diff --git a/pos_margin/static/description/pos_order_form.png b/pos_margin/static/description/pos_order_form.png index 392b816a6e3800f6ab2e4f18e3e619f0d4380519..22601768290cbc5d364db1d5b5b7397e3f5b7246 100644 GIT binary patch literal 30651 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 Mb^ZHpos.order - - - - - + + + - + + + pos.order + + + + + + + +