From d311276fcbb17ee65079518fb586a92be6a8998e Mon Sep 17 00:00:00 2001 From: Nikul-OSI Date: Tue, 12 Apr 2022 18:31:04 +0530 Subject: [PATCH 01/20] [ADD] purchase_order_no_zero_price: force prices on PO lines --- purchase_order_no_zero_price/README.rst | 1 + purchase_order_no_zero_price/__init__.py | 4 ++ purchase_order_no_zero_price/__manifest__.py | 17 ++++++ .../models/__init__.py | 4 ++ .../models/purchase_order_line.py | 30 +++++++++++ .../readme/CONTRIBUTORS.rst | 2 + .../readme/DESCRIPTION.rst | 4 ++ purchase_order_no_zero_price/readme/USAGE.rst | 6 +++ .../tests/__init__.py | 4 ++ .../test_purchase_order_no_zero_price.py | 53 +++++++++++++++++++ 10 files changed, 125 insertions(+) create mode 100644 purchase_order_no_zero_price/README.rst create mode 100644 purchase_order_no_zero_price/__init__.py create mode 100644 purchase_order_no_zero_price/__manifest__.py create mode 100644 purchase_order_no_zero_price/models/__init__.py create mode 100644 purchase_order_no_zero_price/models/purchase_order_line.py create mode 100644 purchase_order_no_zero_price/readme/CONTRIBUTORS.rst create mode 100644 purchase_order_no_zero_price/readme/DESCRIPTION.rst create mode 100644 purchase_order_no_zero_price/readme/USAGE.rst create mode 100644 purchase_order_no_zero_price/tests/__init__.py create mode 100644 purchase_order_no_zero_price/tests/test_purchase_order_no_zero_price.py diff --git a/purchase_order_no_zero_price/README.rst b/purchase_order_no_zero_price/README.rst new file mode 100644 index 00000000000..876fdb5f407 --- /dev/null +++ b/purchase_order_no_zero_price/README.rst @@ -0,0 +1 @@ +Generated diff --git a/purchase_order_no_zero_price/__init__.py b/purchase_order_no_zero_price/__init__.py new file mode 100644 index 00000000000..8bc7dd777ae --- /dev/null +++ b/purchase_order_no_zero_price/__init__.py @@ -0,0 +1,4 @@ +# Copyright (C) 2022 Open Source Integrators +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from . import models diff --git a/purchase_order_no_zero_price/__manifest__.py b/purchase_order_no_zero_price/__manifest__.py new file mode 100644 index 00000000000..5dcf2c7d1c0 --- /dev/null +++ b/purchase_order_no_zero_price/__manifest__.py @@ -0,0 +1,17 @@ +# Copyright (C) 2022 Open Source Integrators +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +{ + "name": "Purchase Order No Zero Price", + "version": "15.0.1.0.0", + "author": "Open Source Integrators, Odoo Community Association (OCA)", + "summary": "Prevent zero price lines on Purchase Orders", + "website": "https://github.com/OCA/purchase-workflow", + "license": "AGPL-3", + "depends": ["purchase_discount"], + "category": "Inventory/Purchase", + "data": [], + "installable": True, + "maintainer": ["dreispt"], + "development_status": "Beta", +} diff --git a/purchase_order_no_zero_price/models/__init__.py b/purchase_order_no_zero_price/models/__init__.py new file mode 100644 index 00000000000..bfe0c2c15e9 --- /dev/null +++ b/purchase_order_no_zero_price/models/__init__.py @@ -0,0 +1,4 @@ +# Copyright (C) 2022 Open Source Integrators +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from . import purchase_order_line diff --git a/purchase_order_no_zero_price/models/purchase_order_line.py b/purchase_order_no_zero_price/models/purchase_order_line.py new file mode 100644 index 00000000000..bacd78373d7 --- /dev/null +++ b/purchase_order_no_zero_price/models/purchase_order_line.py @@ -0,0 +1,30 @@ +# Copyright (C) 2022 Open Source Integrators +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import _, api, exceptions, models + + +class PurchaseOrderLine(models.Model): + _inherit = "purchase.order.line" + + @api.constrains("price_unit", "display_type", "state") + def _check_price_unit_zero(self): + # Prevent zero prices on confirmed POs + # to help ensure proper Stock Valuation + # when receiving the products + # Also supports `purchase_triple_discount` module + no_price_lines = self.filtered( + lambda x: not x.display_type + and x.state not in ["draft", "done", "cancel"] + and not x.price_unit + # Allow zero price for 100% discounts: + and ( + x.discount + getattr(x, "discount2", 0.0) + getattr(x, "discount3", 0.0) + ) + != 100.0 + ) + if no_price_lines: + raise exceptions.UserError( + _("Missing unit price for Products: %s") + % ", ".join(no_price_lines.product_id.mapped("display_name")) + ) diff --git a/purchase_order_no_zero_price/readme/CONTRIBUTORS.rst b/purchase_order_no_zero_price/readme/CONTRIBUTORS.rst new file mode 100644 index 00000000000..ea3d4bbe92c --- /dev/null +++ b/purchase_order_no_zero_price/readme/CONTRIBUTORS.rst @@ -0,0 +1,2 @@ +* Daniel Reis +* Nikul Chaudhary diff --git a/purchase_order_no_zero_price/readme/DESCRIPTION.rst b/purchase_order_no_zero_price/readme/DESCRIPTION.rst new file mode 100644 index 00000000000..f9b60d1aab2 --- /dev/null +++ b/purchase_order_no_zero_price/readme/DESCRIPTION.rst @@ -0,0 +1,4 @@ +Prevent zero prices on confirmed POs to help ensure proper Stock Valuation +when receiving the products. + +Also supports `purchase_triple_discount` module, if installed. diff --git a/purchase_order_no_zero_price/readme/USAGE.rst b/purchase_order_no_zero_price/readme/USAGE.rst new file mode 100644 index 00000000000..aec4d6b51dd --- /dev/null +++ b/purchase_order_no_zero_price/readme/USAGE.rst @@ -0,0 +1,6 @@ +To use: + +- Create an RFQ, and add a line with zero price. +- Confirm the RFQ, an error message will prevent that ans ask you to enter the missing + prices. +- A zero subtotal line can still be entered by setting a 100% discount. diff --git a/purchase_order_no_zero_price/tests/__init__.py b/purchase_order_no_zero_price/tests/__init__.py new file mode 100644 index 00000000000..aa1442a29be --- /dev/null +++ b/purchase_order_no_zero_price/tests/__init__.py @@ -0,0 +1,4 @@ +# Copyright (C) 2022 Open Source Integrators +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from . import test_purchase_order_no_zero_price diff --git a/purchase_order_no_zero_price/tests/test_purchase_order_no_zero_price.py b/purchase_order_no_zero_price/tests/test_purchase_order_no_zero_price.py new file mode 100644 index 00000000000..5891371eb3e --- /dev/null +++ b/purchase_order_no_zero_price/tests/test_purchase_order_no_zero_price.py @@ -0,0 +1,53 @@ +# Copyright (C) 2022 Open Source Integrators +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +import time + +from odoo.exceptions import UserError +from odoo.tests import common +from odoo.tools import DEFAULT_SERVER_DATETIME_FORMAT + + +class TestPurchaseOrderNoZeroPrice(common.TransactionCase): + def setUp(self): + super(TestPurchaseOrderNoZeroPrice, self).setUp() + + self.PurchaseOrder = self.env["purchase.order"] + # Partner + self.partner1 = self.env.ref("base.res_partner_1") + # Products + self.product1 = self.env.ref("product.product_product_7") + + self.purchase_order1 = self.PurchaseOrder.create( + { + "partner_id": self.partner1.id, + "order_line": [ + ( + 0, + 0, + { + "name": self.product1.name, + "product_id": self.product1.id, + "product_qty": 50, + "product_uom": self.product1.uom_id.id, + "price_unit": 10.0, + "date_planned": time.strftime( + DEFAULT_SERVER_DATETIME_FORMAT + ), + }, + ) + ], + } + ) + self.purchase_order2 = self.purchase_order1.copy() + self.purchase_order2.order_line.write({"discount": 10.0, "price_unit": 0.0}) + + def test_check_price_unit_zero(self): + self.assertEqual(self.purchase_order1.state, "draft") + self.purchase_order1.button_confirm() + self.assertEqual(self.purchase_order1.state, "purchase") + + self.assertEqual(self.purchase_order2.state, "draft") + with self.assertRaises(UserError): + self.purchase_order2.button_confirm() + self.assertEqual(self.purchase_order2.state, "draft") From d98a586efce9841a143de028ca0b17e88a6433ba Mon Sep 17 00:00:00 2001 From: Nikul-OSI Date: Wed, 13 Apr 2022 16:05:10 +0530 Subject: [PATCH 02/20] [FIX] Fixed unit test case --- purchase_order_no_zero_price/__manifest__.py | 4 ++-- purchase_order_no_zero_price/models/purchase_order_line.py | 7 +++---- purchase_order_no_zero_price/readme/USAGE.rst | 2 +- .../tests/test_purchase_order_no_zero_price.py | 2 +- 4 files changed, 7 insertions(+), 8 deletions(-) diff --git a/purchase_order_no_zero_price/__manifest__.py b/purchase_order_no_zero_price/__manifest__.py index 5dcf2c7d1c0..c8505c58ef9 100644 --- a/purchase_order_no_zero_price/__manifest__.py +++ b/purchase_order_no_zero_price/__manifest__.py @@ -8,8 +8,8 @@ "summary": "Prevent zero price lines on Purchase Orders", "website": "https://github.com/OCA/purchase-workflow", "license": "AGPL-3", - "depends": ["purchase_discount"], - "category": "Inventory/Purchase", + "depends": ["purchase"], + "category": "Purchase", "data": [], "installable": True, "maintainer": ["dreispt"], diff --git a/purchase_order_no_zero_price/models/purchase_order_line.py b/purchase_order_no_zero_price/models/purchase_order_line.py index bacd78373d7..89aa43a44d1 100644 --- a/purchase_order_no_zero_price/models/purchase_order_line.py +++ b/purchase_order_no_zero_price/models/purchase_order_line.py @@ -18,10 +18,9 @@ def _check_price_unit_zero(self): and x.state not in ["draft", "done", "cancel"] and not x.price_unit # Allow zero price for 100% discounts: - and ( - x.discount + getattr(x, "discount2", 0.0) + getattr(x, "discount3", 0.0) - ) - != 100.0 + and getattr(x, "discount", 0.0) != 100.0 + and getattr(x, "discount2", 0.0) != 100.0 + and getattr(x, "discount3", 0.0) != 100.0 ) if no_price_lines: raise exceptions.UserError( diff --git a/purchase_order_no_zero_price/readme/USAGE.rst b/purchase_order_no_zero_price/readme/USAGE.rst index aec4d6b51dd..e9eb8c901a8 100644 --- a/purchase_order_no_zero_price/readme/USAGE.rst +++ b/purchase_order_no_zero_price/readme/USAGE.rst @@ -1,6 +1,6 @@ To use: - Create an RFQ, and add a line with zero price. -- Confirm the RFQ, an error message will prevent that ans ask you to enter the missing +- Confirm the RFQ, an error message will prevent that and ask you to enter the missing prices. - A zero subtotal line can still be entered by setting a 100% discount. diff --git a/purchase_order_no_zero_price/tests/test_purchase_order_no_zero_price.py b/purchase_order_no_zero_price/tests/test_purchase_order_no_zero_price.py index 5891371eb3e..a24b6f4175d 100644 --- a/purchase_order_no_zero_price/tests/test_purchase_order_no_zero_price.py +++ b/purchase_order_no_zero_price/tests/test_purchase_order_no_zero_price.py @@ -40,7 +40,6 @@ def setUp(self): } ) self.purchase_order2 = self.purchase_order1.copy() - self.purchase_order2.order_line.write({"discount": 10.0, "price_unit": 0.0}) def test_check_price_unit_zero(self): self.assertEqual(self.purchase_order1.state, "draft") @@ -49,5 +48,6 @@ def test_check_price_unit_zero(self): self.assertEqual(self.purchase_order2.state, "draft") with self.assertRaises(UserError): + self.purchase_order2.order_line.write({"price_unit": 0.0}) self.purchase_order2.button_confirm() self.assertEqual(self.purchase_order2.state, "draft") From 4ea8ec700bb26a3006de93f5de0a47dfe6db9830 Mon Sep 17 00:00:00 2001 From: oca-ci Date: Fri, 22 Jul 2022 11:47:16 +0000 Subject: [PATCH 03/20] [UPD] Update purchase_order_no_zero_price.pot --- .../i18n/purchase_order_no_zero_price.pot | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 purchase_order_no_zero_price/i18n/purchase_order_no_zero_price.pot diff --git a/purchase_order_no_zero_price/i18n/purchase_order_no_zero_price.pot b/purchase_order_no_zero_price/i18n/purchase_order_no_zero_price.pot new file mode 100644 index 00000000000..b2347adcfc7 --- /dev/null +++ b/purchase_order_no_zero_price/i18n/purchase_order_no_zero_price.pot @@ -0,0 +1,25 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * purchase_order_no_zero_price +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 15.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: purchase_order_no_zero_price +#: code:addons/purchase_order_no_zero_price/models/purchase_order_line.py:0 +#, python-format +msgid "Missing unit price for Products: %s" +msgstr "" + +#. module: purchase_order_no_zero_price +#: model:ir.model,name:purchase_order_no_zero_price.model_purchase_order_line +msgid "Purchase Order Line" +msgstr "" From d81453f6302950b854f5ef08ac819979fcce2123 Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Fri, 22 Jul 2022 11:51:12 +0000 Subject: [PATCH 04/20] [UPD] README.rst --- purchase_order_no_zero_price/README.rst | 88 +++- .../static/description/index.html | 433 ++++++++++++++++++ 2 files changed, 520 insertions(+), 1 deletion(-) create mode 100644 purchase_order_no_zero_price/static/description/index.html diff --git a/purchase_order_no_zero_price/README.rst b/purchase_order_no_zero_price/README.rst index 876fdb5f407..45f0fff85b1 100644 --- a/purchase_order_no_zero_price/README.rst +++ b/purchase_order_no_zero_price/README.rst @@ -1 +1,87 @@ -Generated +============================ +Purchase Order No Zero Price +============================ + +.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png + :target: https://odoo-community.org/page/development-status + :alt: Beta +.. |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%2Fpurchase--workflow-lightgray.png?logo=github + :target: https://github.com/OCA/purchase-workflow/tree/15.0/purchase_order_no_zero_price + :alt: OCA/purchase-workflow +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/purchase-workflow-15-0/purchase-workflow-15-0-purchase_order_no_zero_price + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png + :target: https://runbot.odoo-community.org/runbot/142/15.0 + :alt: Try me on Runbot + +|badge1| |badge2| |badge3| |badge4| |badge5| + +Prevent zero prices on confirmed POs to help ensure proper Stock Valuation +when receiving the products. + +Also supports `purchase_triple_discount` module, if installed. + +**Table of contents** + +.. contents:: + :local: + +Usage +===== + +To use: + +- Create an RFQ, and add a line with zero price. +- Confirm the RFQ, an error message will prevent that and ask you to enter the missing + prices. +- A zero subtotal line can still be entered by setting a 100% discount. + +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 +~~~~~~~ + +* Open Source Integrators + +Contributors +~~~~~~~~~~~~ + +* Daniel Reis +* Nikul Chaudhary + +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. + +This module is part of the `OCA/purchase-workflow `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/purchase_order_no_zero_price/static/description/index.html b/purchase_order_no_zero_price/static/description/index.html new file mode 100644 index 00000000000..4d0798c3940 --- /dev/null +++ b/purchase_order_no_zero_price/static/description/index.html @@ -0,0 +1,433 @@ + + + + + + +Purchase Order No Zero Price + + + +
+

Purchase Order No Zero Price

+ + +

Beta License: AGPL-3 OCA/purchase-workflow Translate me on Weblate Try me on Runbot

+

Prevent zero prices on confirmed POs to help ensure proper Stock Valuation +when receiving the products.

+

Also supports purchase_triple_discount module, if installed.

+

Table of contents

+ +
+

Usage

+

To use:

+
    +
  • Create an RFQ, and add a line with zero price.
  • +
  • Confirm the RFQ, an error message will prevent that and ask you to enter the missing +prices.
  • +
  • A zero subtotal line can still be entered by setting a 100% discount.
  • +
+
+
+

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

+
    +
  • Open Source Integrators
  • +
+
+ +
+

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.

+

This module is part of the OCA/purchase-workflow project on GitHub.

+

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

+
+
+
+ + From fff78ab39053a21b2c7a7810d70765f9871998fc Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Fri, 22 Jul 2022 11:51:12 +0000 Subject: [PATCH 05/20] [ADD] icon.png --- .../static/description/icon.png | Bin 0 -> 9455 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 purchase_order_no_zero_price/static/description/icon.png diff --git a/purchase_order_no_zero_price/static/description/icon.png b/purchase_order_no_zero_price/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 From cd8bcec61d85722ef0e06eb27794aed59c6822ce Mon Sep 17 00:00:00 2001 From: dsolanki Date: Tue, 4 Apr 2023 10:47:49 +0530 Subject: [PATCH 06/20] [IMP] purchase_order_no_zero_price: pre-commit stuff --- purchase_order_no_zero_price/__manifest__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/purchase_order_no_zero_price/__manifest__.py b/purchase_order_no_zero_price/__manifest__.py index c8505c58ef9..2264dd19fe1 100644 --- a/purchase_order_no_zero_price/__manifest__.py +++ b/purchase_order_no_zero_price/__manifest__.py @@ -3,7 +3,7 @@ { "name": "Purchase Order No Zero Price", - "version": "15.0.1.0.0", + "version": "16.0.1.0.0", "author": "Open Source Integrators, Odoo Community Association (OCA)", "summary": "Prevent zero price lines on Purchase Orders", "website": "https://github.com/OCA/purchase-workflow", From ba6a248ec2e5ce7e8254e6ba953015a1c7a1e7ec Mon Sep 17 00:00:00 2001 From: dsolanki Date: Tue, 4 Apr 2023 12:37:44 +0530 Subject: [PATCH 07/20] [MIG] purchase_order_no_zero_price: Migration to 16.0 --- purchase_order_no_zero_price/README.rst | 5 +++-- purchase_order_no_zero_price/readme/CONTRIBUTORS.rst | 1 + purchase_order_no_zero_price/static/description/index.html | 4 ++-- .../tests/test_purchase_order_no_zero_price.py | 2 +- 4 files changed, 7 insertions(+), 5 deletions(-) diff --git a/purchase_order_no_zero_price/README.rst b/purchase_order_no_zero_price/README.rst index 45f0fff85b1..97a280596fb 100644 --- a/purchase_order_no_zero_price/README.rst +++ b/purchase_order_no_zero_price/README.rst @@ -14,7 +14,7 @@ Purchase Order No Zero Price :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fpurchase--workflow-lightgray.png?logo=github - :target: https://github.com/OCA/purchase-workflow/tree/15.0/purchase_order_no_zero_price + :target: https://github.com/OCA/purchase-workflow/tree/16.0/purchase_order_no_zero_price :alt: OCA/purchase-workflow .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png :target: https://translation.odoo-community.org/projects/purchase-workflow-15-0/purchase-workflow-15-0-purchase_order_no_zero_price @@ -68,6 +68,7 @@ Contributors * Daniel Reis * Nikul Chaudhary +* Dhara Solanki Maintainers ~~~~~~~~~~~ @@ -82,6 +83,6 @@ 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. -This module is part of the `OCA/purchase-workflow `_ project on GitHub. +This module is part of the `OCA/purchase-workflow `_ project on GitHub. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/purchase_order_no_zero_price/readme/CONTRIBUTORS.rst b/purchase_order_no_zero_price/readme/CONTRIBUTORS.rst index ea3d4bbe92c..defdd34627c 100644 --- a/purchase_order_no_zero_price/readme/CONTRIBUTORS.rst +++ b/purchase_order_no_zero_price/readme/CONTRIBUTORS.rst @@ -1,2 +1,3 @@ * Daniel Reis * Nikul Chaudhary +* Dhara Solanki diff --git a/purchase_order_no_zero_price/static/description/index.html b/purchase_order_no_zero_price/static/description/index.html index 4d0798c3940..cd11d7f6c35 100644 --- a/purchase_order_no_zero_price/static/description/index.html +++ b/purchase_order_no_zero_price/static/description/index.html @@ -367,7 +367,7 @@

Purchase Order No Zero Price

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

Beta License: AGPL-3 OCA/purchase-workflow Translate me on Weblate Try me on Runbot

+

Beta License: AGPL-3 OCA/purchase-workflow Translate me on Weblate Try me on Runbot

Prevent zero prices on confirmed POs to help ensure proper Stock Valuation when receiving the products.

Also supports purchase_triple_discount module, if installed.

@@ -424,7 +424,7 @@

Maintainers

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.

-

This module is part of the OCA/purchase-workflow project on GitHub.

+

This module is part of the OCA/purchase-workflow project on GitHub.

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

diff --git a/purchase_order_no_zero_price/tests/test_purchase_order_no_zero_price.py b/purchase_order_no_zero_price/tests/test_purchase_order_no_zero_price.py index a24b6f4175d..5055405e573 100644 --- a/purchase_order_no_zero_price/tests/test_purchase_order_no_zero_price.py +++ b/purchase_order_no_zero_price/tests/test_purchase_order_no_zero_price.py @@ -47,7 +47,7 @@ def test_check_price_unit_zero(self): self.assertEqual(self.purchase_order1.state, "purchase") self.assertEqual(self.purchase_order2.state, "draft") - with self.assertRaises(UserError): + with self.assertRaises(UserError), self.cr.savepoint(): self.purchase_order2.order_line.write({"price_unit": 0.0}) self.purchase_order2.button_confirm() self.assertEqual(self.purchase_order2.state, "draft") From a92f9749a3640312c73bb9b02a188e79cfcc17aa Mon Sep 17 00:00:00 2001 From: oca-ci Date: Tue, 16 May 2023 09:48:59 +0000 Subject: [PATCH 08/20] [UPD] Update purchase_order_no_zero_price.pot --- .../i18n/purchase_order_no_zero_price.pot | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/purchase_order_no_zero_price/i18n/purchase_order_no_zero_price.pot b/purchase_order_no_zero_price/i18n/purchase_order_no_zero_price.pot index b2347adcfc7..64dee3656f0 100644 --- a/purchase_order_no_zero_price/i18n/purchase_order_no_zero_price.pot +++ b/purchase_order_no_zero_price/i18n/purchase_order_no_zero_price.pot @@ -4,7 +4,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 15.0\n" +"Project-Id-Version: Odoo Server 16.0\n" "Report-Msgid-Bugs-To: \n" "Last-Translator: \n" "Language-Team: \n" @@ -14,6 +14,7 @@ msgstr "" "Plural-Forms: \n" #. module: purchase_order_no_zero_price +#. odoo-python #: code:addons/purchase_order_no_zero_price/models/purchase_order_line.py:0 #, python-format msgid "Missing unit price for Products: %s" From a8a7e540f24a1a59e4a56b123c2d6f64c74beddd Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Tue, 16 May 2023 09:53:32 +0000 Subject: [PATCH 09/20] [UPD] README.rst --- purchase_order_no_zero_price/README.rst | 6 +++--- purchase_order_no_zero_price/static/description/index.html | 5 +++-- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/purchase_order_no_zero_price/README.rst b/purchase_order_no_zero_price/README.rst index 97a280596fb..9121495fb48 100644 --- a/purchase_order_no_zero_price/README.rst +++ b/purchase_order_no_zero_price/README.rst @@ -17,10 +17,10 @@ Purchase Order No Zero Price :target: https://github.com/OCA/purchase-workflow/tree/16.0/purchase_order_no_zero_price :alt: OCA/purchase-workflow .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png - :target: https://translation.odoo-community.org/projects/purchase-workflow-15-0/purchase-workflow-15-0-purchase_order_no_zero_price + :target: https://translation.odoo-community.org/projects/purchase-workflow-16-0/purchase-workflow-16-0-purchase_order_no_zero_price :alt: Translate me on Weblate .. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png - :target: https://runbot.odoo-community.org/runbot/142/15.0 + :target: https://runbot.odoo-community.org/runbot/142/16.0 :alt: Try me on Runbot |badge1| |badge2| |badge3| |badge4| |badge5| @@ -51,7 +51,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. diff --git a/purchase_order_no_zero_price/static/description/index.html b/purchase_order_no_zero_price/static/description/index.html index cd11d7f6c35..27e6b934753 100644 --- a/purchase_order_no_zero_price/static/description/index.html +++ b/purchase_order_no_zero_price/static/description/index.html @@ -367,7 +367,7 @@

Purchase Order No Zero Price

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

Beta License: AGPL-3 OCA/purchase-workflow Translate me on Weblate Try me on Runbot

+

Beta License: AGPL-3 OCA/purchase-workflow Translate me on Weblate Try me on Runbot

Prevent zero prices on confirmed POs to help ensure proper Stock Valuation when receiving the products.

Also supports purchase_triple_discount module, if installed.

@@ -399,7 +399,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.

@@ -415,6 +415,7 @@

Contributors

From 826cde590d87c44994ac8dea7ea10d9794ce571c Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Sun, 3 Sep 2023 15:50:22 +0000 Subject: [PATCH 10/20] [UPD] README.rst --- purchase_order_no_zero_price/README.rst | 15 +++++--- .../static/description/index.html | 38 ++++++++++--------- 2 files changed, 29 insertions(+), 24 deletions(-) diff --git a/purchase_order_no_zero_price/README.rst b/purchase_order_no_zero_price/README.rst index 9121495fb48..2cb49bf002f 100644 --- a/purchase_order_no_zero_price/README.rst +++ b/purchase_order_no_zero_price/README.rst @@ -2,10 +2,13 @@ Purchase Order No Zero Price ============================ -.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:bf539f7dad4a7ab1807ec65eb5e55eaccb31bd91be5ad1daa4f55d9eede947a0 + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png :target: https://odoo-community.org/page/development-status @@ -19,11 +22,11 @@ Purchase Order No Zero Price .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png :target: https://translation.odoo-community.org/projects/purchase-workflow-16-0/purchase-workflow-16-0-purchase_order_no_zero_price :alt: Translate me on Weblate -.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png - :target: https://runbot.odoo-community.org/runbot/142/16.0 - :alt: Try me on Runbot +.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png + :target: https://runboat.odoo-community.org/builds?repo=OCA/purchase-workflow&target_branch=16.0 + :alt: Try me on Runboat -|badge1| |badge2| |badge3| |badge4| |badge5| +|badge1| |badge2| |badge3| |badge4| |badge5| Prevent zero prices on confirmed POs to help ensure proper Stock Valuation when receiving the products. @@ -50,7 +53,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 +If you spotted it first, help us to smash it by providing a detailed and welcomed `feedback `_. Do not contact contributors directly about support or help with technical issues. diff --git a/purchase_order_no_zero_price/static/description/index.html b/purchase_order_no_zero_price/static/description/index.html index 27e6b934753..6821c1abc4a 100644 --- a/purchase_order_no_zero_price/static/description/index.html +++ b/purchase_order_no_zero_price/static/description/index.html @@ -1,20 +1,20 @@ - + - + Purchase Order No Zero Price