From 8e3016517e0bab0bced68b46d375477b91866017 Mon Sep 17 00:00:00 2001 From: bijaya Date: Thu, 27 Feb 2025 12:55:31 +0100 Subject: [PATCH] [MIG] product_supplierinfo_unique: Migration to 16.0 --- product_supplierinfo_unique/README.rst | 59 ++- product_supplierinfo_unique/__manifest__.py | 5 +- .../models/product_supplierinfo.py | 25 +- .../readme/CONTRIBUTORS.md | 4 + .../readme/DESCRIPTION.md | 2 + .../static/description/index.html | 424 ++++++++++++++++++ 6 files changed, 495 insertions(+), 24 deletions(-) create mode 100644 product_supplierinfo_unique/readme/CONTRIBUTORS.md create mode 100644 product_supplierinfo_unique/readme/DESCRIPTION.md create mode 100644 product_supplierinfo_unique/static/description/index.html diff --git a/product_supplierinfo_unique/README.rst b/product_supplierinfo_unique/README.rst index 2abc68a09..cf8d7b44f 100644 --- a/product_supplierinfo_unique/README.rst +++ b/product_supplierinfo_unique/README.rst @@ -1,27 +1,66 @@ -.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg - :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html - :alt: License: AGPL-3 - =========================== Product Supplierinfo Unique =========================== +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:4211d2b8ae7cf10b2b49b70c5f873954893e42d64b7b990038d0aa84279fb328 + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |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-nuobit%2Fodoo--addons-lightgray.png?logo=github + :target: https://github.com/nuobit/odoo-addons/tree/16.0/product_supplierinfo_unique + :alt: nuobit/odoo-addons + +|badge1| |badge2| |badge3| + This module create constrains in supplierinfo to ensure that there is only one supplierinfo with vendor-product_code-min_qty per product +**Table of contents** + +.. contents:: + :local: + 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. +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 to smash it by providing a detailed and welcomed +`feedback `_. + +Do not contact contributors directly about support or help with technical issues. Credits ======= +Authors +------- + +* NuoBiT Solutions SL +* Kilian Niubo + Contributors ------------ -* Eric Antones -* Kilian Niubo +- `NuoBiT `__: + + - Eric Antones eantones@nuobit.com + - Kilian Niubo kniubo@nuobit.com + - Bijaya Kumal bkumal@nuobit.com + +Maintainers +----------- + +This module is part of the `nuobit/odoo-addons `_ project on GitHub. + +You are welcome to contribute. diff --git a/product_supplierinfo_unique/__manifest__.py b/product_supplierinfo_unique/__manifest__.py index c58a19cf6..2e0805a4b 100644 --- a/product_supplierinfo_unique/__manifest__.py +++ b/product_supplierinfo_unique/__manifest__.py @@ -1,10 +1,11 @@ # Copyright NuoBiT Solutions - Kilian Niubo +# Copyright NuoBiT 2025 - Bijaya Kumal # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl) { "name": "Product Supplierinfo Unique", - "version": "14.0.1.0.0", - "author": "NuoBiT Solutions, S.L., Kilian Niubo", + "version": "16.0.1.0.0", + "author": "NuoBiT Solutions SL, Kilian Niubo", "license": "AGPL-3", "category": "Purchase", "website": "https://github.com/nuobit/odoo-addons", diff --git a/product_supplierinfo_unique/models/product_supplierinfo.py b/product_supplierinfo_unique/models/product_supplierinfo.py index 6d6b2dbb9..c41553a83 100644 --- a/product_supplierinfo_unique/models/product_supplierinfo.py +++ b/product_supplierinfo_unique/models/product_supplierinfo.py @@ -1,5 +1,6 @@ -# Copyright NuoBiT Solutions - Eric Antones -# Copyright NuoBiT Solutions - Kilian Niubo +# Copyright NuoBiT - Kilian Niubo +# Copyright NuoBiT - Eric Antones +# Copyright NuoBiT 2025 - Bijaya Kumal # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl) from odoo import _, api, models @@ -9,12 +10,12 @@ class ProductSupplierinfo(models.Model): _inherit = "product.supplierinfo" - @api.constrains("name", "product_code", "product_tmpl_id", "min_qty") + @api.constrains("partner_id", "product_code", "product_tmpl_id", "min_qty") def _check_unique_supplierinfo(self): for rec in self: domain = [ ("id", "!=", rec.id), - ("name", "=", rec.name.id), + ("partner_id", "=", rec.partner_id.id), ("product_code", "!=", False), ] others = self.env["product.supplierinfo"].search( @@ -27,15 +28,15 @@ def _check_unique_supplierinfo(self): if others: raise ValidationError( _( - "The product code %s of the vendor %s already exists " - "on other products %s with other barcodes %s" - ) - % ( - rec.product_code, - rec.name.display_name, - others.mapped("product_tmpl_id.id"), - others.mapped("product_tmpl_id.barcode"), + "The product %(product_code)s of the %(vendor)s already exists" + "on other products %(products)s with other barcodes %(barcodes)s" ) + % { + "product_code": rec.product_code, + "vendor": rec.partner_id.display_name, + "products": others.mapped("product_tmpl_id.id"), + "barcodes": others.mapped("product_tmpl_id.barcode"), + } ) others = self.env["product.supplierinfo"].search( [ diff --git a/product_supplierinfo_unique/readme/CONTRIBUTORS.md b/product_supplierinfo_unique/readme/CONTRIBUTORS.md new file mode 100644 index 000000000..92492ce4e --- /dev/null +++ b/product_supplierinfo_unique/readme/CONTRIBUTORS.md @@ -0,0 +1,4 @@ +- [NuoBiT](https://www.nuobit.com): + - Eric Antones + - Kilian Niubo + - Bijaya Kumal diff --git a/product_supplierinfo_unique/readme/DESCRIPTION.md b/product_supplierinfo_unique/readme/DESCRIPTION.md new file mode 100644 index 000000000..5c5cf231a --- /dev/null +++ b/product_supplierinfo_unique/readme/DESCRIPTION.md @@ -0,0 +1,2 @@ +This module create constrains in supplierinfo to ensure that there is +only one supplierinfo with vendor-product_code-min_qty per product diff --git a/product_supplierinfo_unique/static/description/index.html b/product_supplierinfo_unique/static/description/index.html new file mode 100644 index 000000000..dcd39cf79 --- /dev/null +++ b/product_supplierinfo_unique/static/description/index.html @@ -0,0 +1,424 @@ + + + + + + +Product Supplierinfo Unique + + + +
+

Product Supplierinfo Unique

+ + +

Beta License: AGPL-3 nuobit/odoo-addons

+

This module create constrains in supplierinfo to ensure that there is +only one supplierinfo with vendor-product_code-min_qty per product

+

Table of contents

+ +
+

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 to smash it by providing a detailed and welcomed +feedback.

+

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

+
+
+

Credits

+
+

Authors

+
    +
  • NuoBiT Solutions SL
  • +
  • Kilian Niubo
  • +
+
+
+

Contributors

+ +
+
+

Maintainers

+

This module is part of the nuobit/odoo-addons project on GitHub.

+

You are welcome to contribute.

+
+
+
+ +