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
+
+
+

+
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
+
+
+
+
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.
+
+
+
+
+
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.
+
+
+
+
+
+
+- Open Source Integrators
+
+
+
+
+
+
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.
+
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. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
-

+

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 @@
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. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
-

+

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 @@
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.
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