Skip to content

Commit

Permalink
[MIG] product_supplierinfo_unique: Migration to 16.0
Browse files Browse the repository at this point in the history
  • Loading branch information
bjkumal committed Feb 27, 2025
1 parent b4bd562 commit 8e30165
Show file tree
Hide file tree
Showing 6 changed files with 495 additions and 24 deletions.
59 changes: 49 additions & 10 deletions product_supplierinfo_unique/README.rst
Original file line number Diff line number Diff line change
@@ -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
<https://github.com/nuobit/odoo-addons/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 <https://github.com/nuobit/odoo-addons/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 <https://github.com/nuobit/odoo-addons/issues/new?body=module:%20product_supplierinfo_unique%0Aversion:%2016.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.

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

Credits
=======

Authors
-------

* NuoBiT Solutions SL
* Kilian Niubo

Contributors
------------

* Eric Antones <eantones@nuobit.com>
* Kilian Niubo <kniubo@nuobit.com>
- `NuoBiT <https://www.nuobit.com>`__:

- 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 <https://github.com/nuobit/odoo-addons/tree/16.0/product_supplierinfo_unique>`_ project on GitHub.

You are welcome to contribute.
5 changes: 3 additions & 2 deletions product_supplierinfo_unique/__manifest__.py
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
# Copyright NuoBiT Solutions - Kilian Niubo <kniubo@nuobit.com>
# Copyright NuoBiT 2025 - Bijaya Kumal <bkumal@nuobit.com>
# 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",
Expand Down
25 changes: 13 additions & 12 deletions product_supplierinfo_unique/models/product_supplierinfo.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
# Copyright NuoBiT Solutions - Eric Antones <eantones@nuobit.com>
# Copyright NuoBiT Solutions - Kilian Niubo <kniubo@nuobit.com>
# Copyright NuoBiT - Kilian Niubo <kniubo@nuobit.com>
# Copyright NuoBiT - Eric Antones <eantones@nuobit.com>
# Copyright NuoBiT 2025 - Bijaya Kumal <bkumal@nuobit.com>
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl)

from odoo import _, api, models
Expand All @@ -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(
Expand All @@ -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(
[
Expand Down
4 changes: 4 additions & 0 deletions product_supplierinfo_unique/readme/CONTRIBUTORS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
- [NuoBiT](https://www.nuobit.com):
- Eric Antones <eantones@nuobit.com>
- Kilian Niubo <kniubo@nuobit.com>
- Bijaya Kumal <bkumal@nuobit.com>
2 changes: 2 additions & 0 deletions product_supplierinfo_unique/readme/DESCRIPTION.md
Original file line number Diff line number Diff line change
@@ -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
Loading

0 comments on commit 8e30165

Please sign in to comment.