From b900953ef630b373439bd546f1b270ed8a2fcecb Mon Sep 17 00:00:00 2001 From: oca-travis Date: Wed, 14 Oct 2020 16:30:31 +0000 Subject: [PATCH 01/12] [UPD] Update account_invoice_margin_sale.pot --- account_invoice_margin_sale/README.rst | 92 ++++ account_invoice_margin_sale/__init__.py | 3 + account_invoice_margin_sale/__manifest__.py | 19 + .../i18n/account_invoice_margin_sale.pot | 19 + .../models/__init__.py | 3 + account_invoice_margin_sale/models/sale.py | 14 + .../readme/CONTRIBUTORS.rst | 4 + .../readme/DESCRIPTION.rst | 1 + .../readme/INSTALL.rst | 1 + .../static/description/icon.png | Bin 0 -> 9455 bytes .../static/description/index.html | 430 ++++++++++++++++++ account_invoice_margin_sale/tests/__init__.py | 3 + .../tests/test_account_invoice_margin_sale.py | 77 ++++ 13 files changed, 666 insertions(+) create mode 100644 account_invoice_margin_sale/README.rst create mode 100644 account_invoice_margin_sale/__init__.py create mode 100644 account_invoice_margin_sale/__manifest__.py create mode 100644 account_invoice_margin_sale/i18n/account_invoice_margin_sale.pot create mode 100644 account_invoice_margin_sale/models/__init__.py create mode 100644 account_invoice_margin_sale/models/sale.py create mode 100644 account_invoice_margin_sale/readme/CONTRIBUTORS.rst create mode 100644 account_invoice_margin_sale/readme/DESCRIPTION.rst create mode 100644 account_invoice_margin_sale/readme/INSTALL.rst create mode 100644 account_invoice_margin_sale/static/description/icon.png create mode 100644 account_invoice_margin_sale/static/description/index.html create mode 100644 account_invoice_margin_sale/tests/__init__.py create mode 100644 account_invoice_margin_sale/tests/test_account_invoice_margin_sale.py diff --git a/account_invoice_margin_sale/README.rst b/account_invoice_margin_sale/README.rst new file mode 100644 index 00000000..dcba648d --- /dev/null +++ b/account_invoice_margin_sale/README.rst @@ -0,0 +1,92 @@ +=========================== +Account Invoice Margin Sale +=========================== + +.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |badge1| image:: https://img.shields.io/badge/maturity-Production%2FStable-green.png + :target: https://odoo-community.org/page/development-status + :alt: Production/Stable +.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fmargin--analysis-lightgray.png?logo=github + :target: https://github.com/OCA/margin-analysis/tree/13.0/account_invoice_margin_sale + :alt: OCA/margin-analysis +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/margin-analysis-13-0/margin-analysis-13-0-account_invoice_margin_sale + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png + :target: https://runbot.odoo-community.org/runbot/132/13.0 + :alt: Try me on Runbot + +|badge1| |badge2| |badge3| |badge4| |badge5| + +This module allows transfer purchase price from sale order line to invoice. + +**Table of contents** + +.. contents:: + :local: + +Installation +============ + +This module is autoinstalable. + +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 `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +~~~~~~~ + +* Tecnativa + +Contributors +~~~~~~~~~~~~ + +* `Tecnativa `__: + + * Sergio Teruel + * Carlos Dauden + +Maintainers +~~~~~~~~~~~ + +This module is maintained by the OCA. + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +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. + +.. |maintainer-sergio-teruel| image:: https://github.com/sergio-teruel.png?size=40px + :target: https://github.com/sergio-teruel + :alt: sergio-teruel +.. |maintainer-carlosdauden| image:: https://github.com/carlosdauden.png?size=40px + :target: https://github.com/carlosdauden + :alt: carlosdauden + +Current `maintainers `__: + +|maintainer-sergio-teruel| |maintainer-carlosdauden| + +This module is part of the `OCA/margin-analysis `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/account_invoice_margin_sale/__init__.py b/account_invoice_margin_sale/__init__.py new file mode 100644 index 00000000..7d768b54 --- /dev/null +++ b/account_invoice_margin_sale/__init__.py @@ -0,0 +1,3 @@ +# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). + +from . import models diff --git a/account_invoice_margin_sale/__manifest__.py b/account_invoice_margin_sale/__manifest__.py new file mode 100644 index 00000000..aaa43543 --- /dev/null +++ b/account_invoice_margin_sale/__manifest__.py @@ -0,0 +1,19 @@ +# Copyright 2017-2018 Tecnativa - Sergio Teruel +# Copyright 2019 Tecnativa - Carlos Dauden +# License AGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). + +{ + "name": "Account Invoice Margin Sale", + "summary": "Set margin in invoices from sale orders", + "version": "13.0.1.0.0", + "development_status": "Production/Stable", + "maintainers": ["sergio-teruel", "carlosdauden"], + "category": "Account", + "website": "https://github.com/OCA/margin-analysis", + "author": "Tecnativa, " "Odoo Community Association (OCA)", + "license": "AGPL-3", + "application": False, + "installable": True, + "auto_install": True, + "depends": ["sale_margin", "account_invoice_margin"], +} diff --git a/account_invoice_margin_sale/i18n/account_invoice_margin_sale.pot b/account_invoice_margin_sale/i18n/account_invoice_margin_sale.pot new file mode 100644 index 00000000..63fe7daa --- /dev/null +++ b/account_invoice_margin_sale/i18n/account_invoice_margin_sale.pot @@ -0,0 +1,19 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_invoice_margin_sale +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 13.0\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: account_invoice_margin_sale +#: model:ir.model,name:account_invoice_margin_sale.model_sale_order_line +msgid "Sales Order Line" +msgstr "" diff --git a/account_invoice_margin_sale/models/__init__.py b/account_invoice_margin_sale/models/__init__.py new file mode 100644 index 00000000..a6061a23 --- /dev/null +++ b/account_invoice_margin_sale/models/__init__.py @@ -0,0 +1,3 @@ +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from . import sale diff --git a/account_invoice_margin_sale/models/sale.py b/account_invoice_margin_sale/models/sale.py new file mode 100644 index 00000000..e728eb6c --- /dev/null +++ b/account_invoice_margin_sale/models/sale.py @@ -0,0 +1,14 @@ +# Copyright 2017-2018 Tecnativa - Sergio Teruel +# Copyright 2019 Tecnativa - Carlos Dauden +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import models + + +class SaleOrderLine(models.Model): + _inherit = "sale.order.line" + + def _prepare_invoice_line(self): + vals = super()._prepare_invoice_line() + vals["purchase_price"] = self.purchase_price + return vals diff --git a/account_invoice_margin_sale/readme/CONTRIBUTORS.rst b/account_invoice_margin_sale/readme/CONTRIBUTORS.rst new file mode 100644 index 00000000..508f0287 --- /dev/null +++ b/account_invoice_margin_sale/readme/CONTRIBUTORS.rst @@ -0,0 +1,4 @@ +* `Tecnativa `__: + + * Sergio Teruel + * Carlos Dauden diff --git a/account_invoice_margin_sale/readme/DESCRIPTION.rst b/account_invoice_margin_sale/readme/DESCRIPTION.rst new file mode 100644 index 00000000..6fb92734 --- /dev/null +++ b/account_invoice_margin_sale/readme/DESCRIPTION.rst @@ -0,0 +1 @@ +This module allows transfer purchase price from sale order line to invoice. diff --git a/account_invoice_margin_sale/readme/INSTALL.rst b/account_invoice_margin_sale/readme/INSTALL.rst new file mode 100644 index 00000000..0cde2de7 --- /dev/null +++ b/account_invoice_margin_sale/readme/INSTALL.rst @@ -0,0 +1 @@ +This module is autoinstalable. diff --git a/account_invoice_margin_sale/static/description/icon.png b/account_invoice_margin_sale/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3a0328b516c4980e8e44cdb63fd945757ddd132d GIT binary patch literal 9455 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 z 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 Xviia!U7SGha1wx#SCgwmn*{w2TRX*I literal 0 HcmV?d00001 diff --git a/account_invoice_margin_sale/static/description/index.html b/account_invoice_margin_sale/static/description/index.html new file mode 100644 index 00000000..a6fc1d4e --- /dev/null +++ b/account_invoice_margin_sale/static/description/index.html @@ -0,0 +1,430 @@ + + + + + + +Account Invoice Margin Sale + + + +
+

Account Invoice Margin Sale

+ + +

Production/Stable License: AGPL-3 OCA/margin-analysis Translate me on Weblate Try me on Runbot

+

This module allows transfer purchase price from sale order line to invoice.

+

Table of contents

+ +
+

Installation

+

This module is autoinstalable.

+
+
+

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.

+

Do not contact contributors directly about support or help with technical issues.

+
+
+

Credits

+
+

Authors

+
    +
  • Tecnativa
  • +
+
+
+

Contributors

+
    +
  • Tecnativa:
      +
    • Sergio Teruel
    • +
    • Carlos Dauden
    • +
    +
  • +
+
+
+

Maintainers

+

This module is maintained by the OCA.

+Odoo Community Association +

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.

+

Current maintainers:

+

sergio-teruel carlosdauden

+

This module is part of the OCA/margin-analysis project on GitHub.

+

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

+
+
+
+ + diff --git a/account_invoice_margin_sale/tests/__init__.py b/account_invoice_margin_sale/tests/__init__.py new file mode 100644 index 00000000..4423d9c3 --- /dev/null +++ b/account_invoice_margin_sale/tests/__init__.py @@ -0,0 +1,3 @@ +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from . import test_account_invoice_margin_sale diff --git a/account_invoice_margin_sale/tests/test_account_invoice_margin_sale.py b/account_invoice_margin_sale/tests/test_account_invoice_margin_sale.py new file mode 100644 index 00000000..ab83ab5d --- /dev/null +++ b/account_invoice_margin_sale/tests/test_account_invoice_margin_sale.py @@ -0,0 +1,77 @@ +# Copyright 2017-2018 Tecnativa - Sergio Teruel +# Copyright 2019 Tecnativa - Carlos Dauden +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo.tests.common import SavepointCase + + +class TestAccountInvoiceMargin(SavepointCase): + @classmethod + def setUpClass(cls): + super(TestAccountInvoiceMargin, cls).setUpClass() + cls.journal = cls.env["account.journal"].create( + {"name": "Test journal", "type": "sale", "code": "TEST_J"} + ) + cls.account_type = cls.env["account.account.type"].create( + { + "name": "Test account type", + "type": "receivable", + "internal_group": "income", + } + ) + cls.account = cls.env["account.account"].create( + { + "name": "Test account", + "code": "TEST_A", + "user_type_id": cls.account_type.id, + "reconcile": True, + } + ) + cls.partner = cls.env["res.partner"].create( + {"name": "Test partner", "customer_rank": 1, "is_company": True} + ) + cls.partner.property_account_receivable_id = cls.account + cls.product_categ = cls.env["product.category"].create( + {"name": "Test category"} + ) + + cls.product = cls.env["product.product"].create( + { + "name": "test product", + "categ_id": cls.product_categ.id, + "uom_id": cls.env.ref("uom.product_uom_unit").id, + "uom_po_id": cls.env.ref("uom.product_uom_unit").id, + "default_code": "test-margin", + "invoice_policy": "order", + "list_price": 200.00, + "standard_price": 100.00, + } + ) + cls.product.property_account_receivable_id = cls.account + pricelist = cls.env["product.pricelist"].create({"name": "Public Pricelist"}) + + cls.sale_order = cls.env["sale.order"].create( + { + "partner_id": cls.partner.id, + "pricelist_id": pricelist.id, + "order_line": [ + ( + 0, + 0, + { + "name": cls.product.name, + "product_id": cls.product.id, + "product_uom_qty": 1, + "product_uom": cls.product.uom_id.id, + "price_unit": 100.0, + }, + ) + ], + } + ) + + def test_invoice_sale_order(self): + self.sale_order.action_confirm() + self.sale_order.order_line.purchase_price = 500.00 + invoice = self.sale_order._create_invoices() + self.assertAlmostEqual(invoice.invoice_line_ids.purchase_price, 500.00, 2) From 72fea69787efef42b86b5f857620651f6b4bbd2a Mon Sep 17 00:00:00 2001 From: Harald Panten Date: Wed, 16 Dec 2020 19:31:02 +0000 Subject: [PATCH 02/12] Added translation using Weblate (Spanish) --- account_invoice_margin_sale/i18n/es.po | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 account_invoice_margin_sale/i18n/es.po diff --git a/account_invoice_margin_sale/i18n/es.po b/account_invoice_margin_sale/i18n/es.po new file mode 100644 index 00000000..9e949e78 --- /dev/null +++ b/account_invoice_margin_sale/i18n/es.po @@ -0,0 +1,20 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_invoice_margin_sale +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 13.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: es\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: account_invoice_margin_sale +#: model:ir.model,name:account_invoice_margin_sale.model_sale_order_line +msgid "Sales Order Line" +msgstr "" From a68fcc2f599adb92ce6d5da4470da1dd4c57eab0 Mon Sep 17 00:00:00 2001 From: Harald Panten Date: Wed, 16 Dec 2020 19:31:27 +0000 Subject: [PATCH 03/12] Translated using Weblate (Spanish) Currently translated at 100.0% (1 of 1 strings) Translation: margin-analysis-13.0/margin-analysis-13.0-account_invoice_margin_sale Translate-URL: https://translation.odoo-community.org/projects/margin-analysis-13-0/margin-analysis-13-0-account_invoice_margin_sale/es/ --- account_invoice_margin_sale/i18n/es.po | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/account_invoice_margin_sale/i18n/es.po b/account_invoice_margin_sale/i18n/es.po index 9e949e78..fa7d4a6f 100644 --- a/account_invoice_margin_sale/i18n/es.po +++ b/account_invoice_margin_sale/i18n/es.po @@ -6,15 +6,17 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 13.0\n" "Report-Msgid-Bugs-To: \n" -"Last-Translator: Automatically generated\n" +"PO-Revision-Date: 2020-12-16 22:19+0000\n" +"Last-Translator: Harald Panten \n" "Language-Team: none\n" "Language: es\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" +"X-Generator: Weblate 4.3.2\n" #. module: account_invoice_margin_sale #: model:ir.model,name:account_invoice_margin_sale.model_sale_order_line msgid "Sales Order Line" -msgstr "" +msgstr "Línea de pedido de venta" From a1232ecf10a8d0c53eac3bac84ff8abb215d21e5 Mon Sep 17 00:00:00 2001 From: Bhavesh Odedra Date: Mon, 1 Feb 2021 12:50:41 -0700 Subject: [PATCH 04/12] [IMP] skip margin calculation for Down Payment invoice [UPD] Update account_invoice_margin_sale.pot [UPD] README.rst account_invoice_margin_sale 13.0.1.0.1 Update translation files Updated by "Update PO files to match POT (msgmerge)" hook in Weblate. Translation: margin-analysis-13.0/margin-analysis-13.0-account_invoice_margin_sale Translate-URL: https://translation.odoo-community.org/projects/margin-analysis-13-0/margin-analysis-13-0-account_invoice_margin_sale/ --- account_invoice_margin_sale/README.rst | 4 +++ account_invoice_margin_sale/__manifest__.py | 2 +- .../i18n/account_invoice_margin_sale.pot | 10 +++++++ account_invoice_margin_sale/i18n/es.po | 10 +++++++ .../models/__init__.py | 1 + .../models/account_invoice.py | 26 +++++++++++++++++++ .../readme/CONTRIBUTORS.rst | 4 +++ .../static/description/index.html | 4 +++ 8 files changed, 60 insertions(+), 1 deletion(-) create mode 100644 account_invoice_margin_sale/models/account_invoice.py diff --git a/account_invoice_margin_sale/README.rst b/account_invoice_margin_sale/README.rst index dcba648d..d9b5296e 100644 --- a/account_invoice_margin_sale/README.rst +++ b/account_invoice_margin_sale/README.rst @@ -63,6 +63,10 @@ Contributors * Sergio Teruel * Carlos Dauden +* `Open Source Integrators `__: + + * Bhavesh Odedra + Maintainers ~~~~~~~~~~~ diff --git a/account_invoice_margin_sale/__manifest__.py b/account_invoice_margin_sale/__manifest__.py index aaa43543..86176cda 100644 --- a/account_invoice_margin_sale/__manifest__.py +++ b/account_invoice_margin_sale/__manifest__.py @@ -5,7 +5,7 @@ { "name": "Account Invoice Margin Sale", "summary": "Set margin in invoices from sale orders", - "version": "13.0.1.0.0", + "version": "13.0.1.0.1", "development_status": "Production/Stable", "maintainers": ["sergio-teruel", "carlosdauden"], "category": "Account", diff --git a/account_invoice_margin_sale/i18n/account_invoice_margin_sale.pot b/account_invoice_margin_sale/i18n/account_invoice_margin_sale.pot index 63fe7daa..8b6e20ee 100644 --- a/account_invoice_margin_sale/i18n/account_invoice_margin_sale.pot +++ b/account_invoice_margin_sale/i18n/account_invoice_margin_sale.pot @@ -13,6 +13,16 @@ msgstr "" "Content-Transfer-Encoding: \n" "Plural-Forms: \n" +#. module: account_invoice_margin_sale +#: model:ir.model,name:account_invoice_margin_sale.model_account_move +msgid "Journal Entries" +msgstr "" + +#. module: account_invoice_margin_sale +#: model:ir.model,name:account_invoice_margin_sale.model_account_move_line +msgid "Journal Item" +msgstr "" + #. module: account_invoice_margin_sale #: model:ir.model,name:account_invoice_margin_sale.model_sale_order_line msgid "Sales Order Line" diff --git a/account_invoice_margin_sale/i18n/es.po b/account_invoice_margin_sale/i18n/es.po index fa7d4a6f..a1580328 100644 --- a/account_invoice_margin_sale/i18n/es.po +++ b/account_invoice_margin_sale/i18n/es.po @@ -16,6 +16,16 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 4.3.2\n" +#. module: account_invoice_margin_sale +#: model:ir.model,name:account_invoice_margin_sale.model_account_move +msgid "Journal Entries" +msgstr "" + +#. module: account_invoice_margin_sale +#: model:ir.model,name:account_invoice_margin_sale.model_account_move_line +msgid "Journal Item" +msgstr "" + #. module: account_invoice_margin_sale #: model:ir.model,name:account_invoice_margin_sale.model_sale_order_line msgid "Sales Order Line" diff --git a/account_invoice_margin_sale/models/__init__.py b/account_invoice_margin_sale/models/__init__.py index a6061a23..1c5404c7 100644 --- a/account_invoice_margin_sale/models/__init__.py +++ b/account_invoice_margin_sale/models/__init__.py @@ -1,3 +1,4 @@ # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). from . import sale +from . import account_invoice diff --git a/account_invoice_margin_sale/models/account_invoice.py b/account_invoice_margin_sale/models/account_invoice.py new file mode 100644 index 00000000..a6637a76 --- /dev/null +++ b/account_invoice_margin_sale/models/account_invoice.py @@ -0,0 +1,26 @@ +# Copyright 2021 Sergio Teruel +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import api, models + + +class AccountMove(models.Model): + _inherit = "account.move" + + def _get_margin_applicable_lines(self): + lines = super()._get_margin_applicable_lines() + return lines.filtered(lambda x: not x.sale_line_ids.is_downpayment) + + +class AccountMoveLine(models.Model): + _inherit = "account.move.line" + + @api.depends("purchase_price", "price_subtotal") + def _compute_margin(self): + for line in self: + if any(line.sale_line_ids.mapped("is_downpayment")): + line.update( + {"margin": 0.0, "margin_signed": 0.0, "margin_percent": 0.0} + ) + else: + super(AccountMoveLine, line)._compute_margin() diff --git a/account_invoice_margin_sale/readme/CONTRIBUTORS.rst b/account_invoice_margin_sale/readme/CONTRIBUTORS.rst index 508f0287..6690797b 100644 --- a/account_invoice_margin_sale/readme/CONTRIBUTORS.rst +++ b/account_invoice_margin_sale/readme/CONTRIBUTORS.rst @@ -2,3 +2,7 @@ * Sergio Teruel * Carlos Dauden + +* `Open Source Integrators `__: + + * Bhavesh Odedra diff --git a/account_invoice_margin_sale/static/description/index.html b/account_invoice_margin_sale/static/description/index.html index a6fc1d4e..1ce80460 100644 --- a/account_invoice_margin_sale/static/description/index.html +++ b/account_invoice_margin_sale/static/description/index.html @@ -410,6 +410,10 @@

Contributors

  • Carlos Dauden
  • +
  • Open Source Integrators:
      +
    • Bhavesh Odedra
    • +
    +
  • From 2f25008f5de8d4e602886524f0d1b97dbdfa6fee Mon Sep 17 00:00:00 2001 From: Reyes4711 Date: Mon, 3 May 2021 13:56:53 +0200 Subject: [PATCH 05/12] [14.0][MIG] account_invoice_margin_sale: Migration to 14.0 [UPD] Update account_invoice_margin_sale.pot [UPD] README.rst --- account_invoice_margin_sale/README.rst | 10 ++-- account_invoice_margin_sale/__init__.py | 2 +- account_invoice_margin_sale/__manifest__.py | 2 +- .../i18n/account_invoice_margin_sale.pot | 25 ++++++++- account_invoice_margin_sale/models/sale.py | 4 +- .../static/description/index.html | 6 +- .../tests/test_account_invoice_margin_sale.py | 55 ++++++++++++++++++- 7 files changed, 89 insertions(+), 15 deletions(-) diff --git a/account_invoice_margin_sale/README.rst b/account_invoice_margin_sale/README.rst index d9b5296e..5de2c0ee 100644 --- a/account_invoice_margin_sale/README.rst +++ b/account_invoice_margin_sale/README.rst @@ -14,13 +14,13 @@ Account Invoice Margin Sale :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fmargin--analysis-lightgray.png?logo=github - :target: https://github.com/OCA/margin-analysis/tree/13.0/account_invoice_margin_sale + :target: https://github.com/OCA/margin-analysis/tree/14.0/account_invoice_margin_sale :alt: OCA/margin-analysis .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png - :target: https://translation.odoo-community.org/projects/margin-analysis-13-0/margin-analysis-13-0-account_invoice_margin_sale + :target: https://translation.odoo-community.org/projects/margin-analysis-14-0/margin-analysis-14-0-account_invoice_margin_sale :alt: Translate me on Weblate .. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png - :target: https://runbot.odoo-community.org/runbot/132/13.0 + :target: https://runbot.odoo-community.org/runbot/132/14.0 :alt: Try me on Runbot |badge1| |badge2| |badge3| |badge4| |badge5| @@ -43,7 +43,7 @@ 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 `_. +`feedback `_. Do not contact contributors directly about support or help with technical issues. @@ -91,6 +91,6 @@ Current `maintainers `__: |maintainer-sergio-teruel| |maintainer-carlosdauden| -This module is part of the `OCA/margin-analysis `_ project on GitHub. +This module is part of the `OCA/margin-analysis `_ project on GitHub. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/account_invoice_margin_sale/__init__.py b/account_invoice_margin_sale/__init__.py index 7d768b54..69f7babd 100644 --- a/account_invoice_margin_sale/__init__.py +++ b/account_invoice_margin_sale/__init__.py @@ -1,3 +1,3 @@ -# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). from . import models diff --git a/account_invoice_margin_sale/__manifest__.py b/account_invoice_margin_sale/__manifest__.py index 86176cda..28867433 100644 --- a/account_invoice_margin_sale/__manifest__.py +++ b/account_invoice_margin_sale/__manifest__.py @@ -5,7 +5,7 @@ { "name": "Account Invoice Margin Sale", "summary": "Set margin in invoices from sale orders", - "version": "13.0.1.0.1", + "version": "14.0.1.0.0", "development_status": "Production/Stable", "maintainers": ["sergio-teruel", "carlosdauden"], "category": "Account", diff --git a/account_invoice_margin_sale/i18n/account_invoice_margin_sale.pot b/account_invoice_margin_sale/i18n/account_invoice_margin_sale.pot index 8b6e20ee..b4e57ad3 100644 --- a/account_invoice_margin_sale/i18n/account_invoice_margin_sale.pot +++ b/account_invoice_margin_sale/i18n/account_invoice_margin_sale.pot @@ -4,7 +4,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 13.0\n" +"Project-Id-Version: Odoo Server 14.0\n" "Report-Msgid-Bugs-To: \n" "Last-Translator: \n" "Language-Team: \n" @@ -13,9 +13,23 @@ msgstr "" "Content-Transfer-Encoding: \n" "Plural-Forms: \n" +#. module: account_invoice_margin_sale +#: model:ir.model.fields,field_description:account_invoice_margin_sale.field_account_move__display_name +#: model:ir.model.fields,field_description:account_invoice_margin_sale.field_account_move_line__display_name +#: model:ir.model.fields,field_description:account_invoice_margin_sale.field_sale_order_line__display_name +msgid "Display Name" +msgstr "" + +#. module: account_invoice_margin_sale +#: model:ir.model.fields,field_description:account_invoice_margin_sale.field_account_move__id +#: model:ir.model.fields,field_description:account_invoice_margin_sale.field_account_move_line__id +#: model:ir.model.fields,field_description:account_invoice_margin_sale.field_sale_order_line__id +msgid "ID" +msgstr "" + #. module: account_invoice_margin_sale #: model:ir.model,name:account_invoice_margin_sale.model_account_move -msgid "Journal Entries" +msgid "Journal Entry" msgstr "" #. module: account_invoice_margin_sale @@ -23,6 +37,13 @@ msgstr "" msgid "Journal Item" msgstr "" +#. module: account_invoice_margin_sale +#: model:ir.model.fields,field_description:account_invoice_margin_sale.field_account_move____last_update +#: model:ir.model.fields,field_description:account_invoice_margin_sale.field_account_move_line____last_update +#: model:ir.model.fields,field_description:account_invoice_margin_sale.field_sale_order_line____last_update +msgid "Last Modified on" +msgstr "" + #. module: account_invoice_margin_sale #: model:ir.model,name:account_invoice_margin_sale.model_sale_order_line msgid "Sales Order Line" diff --git a/account_invoice_margin_sale/models/sale.py b/account_invoice_margin_sale/models/sale.py index e728eb6c..c590a399 100644 --- a/account_invoice_margin_sale/models/sale.py +++ b/account_invoice_margin_sale/models/sale.py @@ -8,7 +8,7 @@ class SaleOrderLine(models.Model): _inherit = "sale.order.line" - def _prepare_invoice_line(self): - vals = super()._prepare_invoice_line() + def _prepare_invoice_line(self, **optional_values): + vals = super()._prepare_invoice_line(**optional_values) vals["purchase_price"] = self.purchase_price return vals diff --git a/account_invoice_margin_sale/static/description/index.html b/account_invoice_margin_sale/static/description/index.html index 1ce80460..67dfa5ff 100644 --- a/account_invoice_margin_sale/static/description/index.html +++ b/account_invoice_margin_sale/static/description/index.html @@ -367,7 +367,7 @@

    Account Invoice Margin Sale

    !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

    Production/Stable License: AGPL-3 OCA/margin-analysis Translate me on Weblate Try me on Runbot

    +

    Production/Stable License: AGPL-3 OCA/margin-analysis Translate me on Weblate Try me on Runbot

    This module allows transfer purchase price from sale order line to invoice.

    Table of contents

    @@ -391,7 +391,7 @@

    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.

    +feedback.

    Do not contact contributors directly about support or help with technical issues.

    @@ -425,7 +425,7 @@

    Maintainers

    promote its widespread use.

    Current maintainers:

    sergio-teruel carlosdauden

    -

    This module is part of the OCA/margin-analysis project on GitHub.

    +

    This module is part of the OCA/margin-analysis project on GitHub.

    You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

    diff --git a/account_invoice_margin_sale/tests/test_account_invoice_margin_sale.py b/account_invoice_margin_sale/tests/test_account_invoice_margin_sale.py index ab83ab5d..5e768d8d 100644 --- a/account_invoice_margin_sale/tests/test_account_invoice_margin_sale.py +++ b/account_invoice_margin_sale/tests/test_account_invoice_margin_sale.py @@ -47,7 +47,6 @@ def setUpClass(cls): "standard_price": 100.00, } ) - cls.product.property_account_receivable_id = cls.account pricelist = cls.env["product.pricelist"].create({"name": "Public Pricelist"}) cls.sale_order = cls.env["sale.order"].create( @@ -75,3 +74,57 @@ def test_invoice_sale_order(self): self.sale_order.order_line.purchase_price = 500.00 invoice = self.sale_order._create_invoices() self.assertAlmostEqual(invoice.invoice_line_ids.purchase_price, 500.00, 2) + + def test_invoice_down_payment(self): + SaleAdvancePaymentInv = self.env["sale.advance.payment.inv"] + AccountMove = self.env["account.move"] + product = self.env["product.product"].create( + { + "name": "test product for down payment", + "categ_id": self.product_categ.id, + "uom_id": self.env.ref("uom.product_uom_unit").id, + "list_price": 1000.00, + "standard_price": 500.00, + "type": "service", + "invoice_policy": "order", + } + ) + self.order = self.env["sale.order"].create( + { + "partner_id": self.partner.id, + "order_line": [ + ( + 0, + False, + { + "product_id": product.id, + "name": "Testing Product", + "product_uom_qty": 1, + "product_uom": product.uom_id.id, + "price_unit": 1000.00, + "purchase_price": 500.00, + }, + ), + ], + } + ) + self.order.action_confirm() + # Create one down payment + wiz = SaleAdvancePaymentInv.with_context( + active_ids=self.order.ids, + open_invoices=True, + ).create({"advance_payment_method": "fixed", "fixed_amount": 100.00}) + action = wiz.create_invoices() + invoice_id = action["res_id"] + invoice1 = AccountMove.browse(invoice_id) + self.assertEqual(invoice1.margin, 0.0) + + # Create regular invoice which has a down payment + wiz = SaleAdvancePaymentInv.with_context( + active_ids=self.order.ids, + open_invoices=True, + ).create({"advance_payment_method": "delivered"}) + wiz.create_invoices() + invoice2 = self.order.invoice_ids - invoice1 + self.assertEqual(invoice2.margin, 500.00) + self.assertEqual(invoice2.margin_percent, 50.0) From bfdb551395c1d87db7496663a4376dd4324885fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=20Mart=C3=ADnez?= Date: Sun, 27 Feb 2022 11:10:41 +0000 Subject: [PATCH 06/12] Translated using Weblate (Spanish) Currently translated at 100.0% (3 of 3 strings) Translation: margin-analysis-14.0/margin-analysis-14.0-account_invoice_margin_sale Translate-URL: https://translation.odoo-community.org/projects/margin-analysis-14-0/margin-analysis-14-0-account_invoice_margin_sale/es/ --- account_invoice_margin_sale/i18n/es.po | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/account_invoice_margin_sale/i18n/es.po b/account_invoice_margin_sale/i18n/es.po index a1580328..ca476b32 100644 --- a/account_invoice_margin_sale/i18n/es.po +++ b/account_invoice_margin_sale/i18n/es.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 13.0\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2020-12-16 22:19+0000\n" -"Last-Translator: Harald Panten \n" +"PO-Revision-Date: 2022-02-27 13:17+0000\n" +"Last-Translator: Rafa Martínez \n" "Language-Team: none\n" "Language: es\n" "MIME-Version: 1.0\n" @@ -19,12 +19,12 @@ msgstr "" #. module: account_invoice_margin_sale #: model:ir.model,name:account_invoice_margin_sale.model_account_move msgid "Journal Entries" -msgstr "" +msgstr "Entradas de diario" #. module: account_invoice_margin_sale #: model:ir.model,name:account_invoice_margin_sale.model_account_move_line msgid "Journal Item" -msgstr "" +msgstr "Apunte contable" #. module: account_invoice_margin_sale #: model:ir.model,name:account_invoice_margin_sale.model_sale_order_line From cfdfb527964a4153aa73c35a17241b88f15769ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Mart=C3=ADnez?= Date: Thu, 28 Jul 2022 17:14:57 +0200 Subject: [PATCH 07/12] [MIG] account_invoice_margin_sale: Migration to 15.0 TT36420 --- account_invoice_margin_sale/README.rst | 11 ++++++----- account_invoice_margin_sale/__manifest__.py | 2 +- account_invoice_margin_sale/models/account_invoice.py | 1 + account_invoice_margin_sale/readme/CONTRIBUTORS.rst | 1 + .../static/description/index.html | 9 +++++---- .../tests/test_account_invoice_margin_sale.py | 6 +++--- 6 files changed, 17 insertions(+), 13 deletions(-) diff --git a/account_invoice_margin_sale/README.rst b/account_invoice_margin_sale/README.rst index 5de2c0ee..240df22c 100644 --- a/account_invoice_margin_sale/README.rst +++ b/account_invoice_margin_sale/README.rst @@ -14,13 +14,13 @@ Account Invoice Margin Sale :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fmargin--analysis-lightgray.png?logo=github - :target: https://github.com/OCA/margin-analysis/tree/14.0/account_invoice_margin_sale + :target: https://github.com/OCA/margin-analysis/tree/15.0/account_invoice_margin_sale :alt: OCA/margin-analysis .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png - :target: https://translation.odoo-community.org/projects/margin-analysis-14-0/margin-analysis-14-0-account_invoice_margin_sale + :target: https://translation.odoo-community.org/projects/margin-analysis-15-0/margin-analysis-15-0-account_invoice_margin_sale :alt: Translate me on Weblate .. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png - :target: https://runbot.odoo-community.org/runbot/132/14.0 + :target: https://runbot.odoo-community.org/runbot/132/15.0 :alt: Try me on Runbot |badge1| |badge2| |badge3| |badge4| |badge5| @@ -43,7 +43,7 @@ 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 `_. +`feedback `_. Do not contact contributors directly about support or help with technical issues. @@ -62,6 +62,7 @@ Contributors * Sergio Teruel * Carlos Dauden + * Víctor Martínez * `Open Source Integrators `__: @@ -91,6 +92,6 @@ Current `maintainers `__: |maintainer-sergio-teruel| |maintainer-carlosdauden| -This module is part of the `OCA/margin-analysis `_ project on GitHub. +This module is part of the `OCA/margin-analysis `_ project on GitHub. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/account_invoice_margin_sale/__manifest__.py b/account_invoice_margin_sale/__manifest__.py index 28867433..7c51edfb 100644 --- a/account_invoice_margin_sale/__manifest__.py +++ b/account_invoice_margin_sale/__manifest__.py @@ -5,7 +5,7 @@ { "name": "Account Invoice Margin Sale", "summary": "Set margin in invoices from sale orders", - "version": "14.0.1.0.0", + "version": "15.0.1.0.0", "development_status": "Production/Stable", "maintainers": ["sergio-teruel", "carlosdauden"], "category": "Account", diff --git a/account_invoice_margin_sale/models/account_invoice.py b/account_invoice_margin_sale/models/account_invoice.py index a6637a76..1c5d55e0 100644 --- a/account_invoice_margin_sale/models/account_invoice.py +++ b/account_invoice_margin_sale/models/account_invoice.py @@ -15,6 +15,7 @@ def _get_margin_applicable_lines(self): class AccountMoveLine(models.Model): _inherit = "account.move.line" + # pylint: disable=W8110 @api.depends("purchase_price", "price_subtotal") def _compute_margin(self): for line in self: diff --git a/account_invoice_margin_sale/readme/CONTRIBUTORS.rst b/account_invoice_margin_sale/readme/CONTRIBUTORS.rst index 6690797b..59d8d996 100644 --- a/account_invoice_margin_sale/readme/CONTRIBUTORS.rst +++ b/account_invoice_margin_sale/readme/CONTRIBUTORS.rst @@ -2,6 +2,7 @@ * Sergio Teruel * Carlos Dauden + * Víctor Martínez * `Open Source Integrators `__: diff --git a/account_invoice_margin_sale/static/description/index.html b/account_invoice_margin_sale/static/description/index.html index 67dfa5ff..960f15b5 100644 --- a/account_invoice_margin_sale/static/description/index.html +++ b/account_invoice_margin_sale/static/description/index.html @@ -3,7 +3,7 @@ - + Account Invoice Margin Sale