summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xfixco_custom/models/__init__.py3
-rw-r--r--fixco_custom/models/product_supplierinfo.py37
2 files changed, 39 insertions, 1 deletions
diff --git a/fixco_custom/models/__init__.py b/fixco_custom/models/__init__.py
index 393efeb..47a4176 100755
--- a/fixco_custom/models/__init__.py
+++ b/fixco_custom/models/__init__.py
@@ -35,4 +35,5 @@ from . import token_log
from . import purchase_pricelist_wizard
from . import stock_picking_return
from . import account_move_reversal
-from . import upload_cancel_picking \ No newline at end of file
+from . import upload_cancel_picking
+from . import product_supplierinfo
diff --git a/fixco_custom/models/product_supplierinfo.py b/fixco_custom/models/product_supplierinfo.py
new file mode 100644
index 0000000..2ff911f
--- /dev/null
+++ b/fixco_custom/models/product_supplierinfo.py
@@ -0,0 +1,37 @@
+from decimal import DefaultContext
+from odoo import models, fields, api
+from odoo import tools
+from odoo.exceptions import UserError
+
+class ProductSupplierinfo(models.Model):
+ _inherit = "product.supplierinfo"
+
+ @api.constrains('name', 'product_tmpl_id')
+ def _check_unique_supplierinfo(self):
+ for record in self:
+ if not record.name or not record.product_tmpl_id:
+ continue
+
+ domain = [
+ ('name', '=', record.name.id),
+ ('product_tmpl_id', '=', record.product_tmpl_id.id),
+ ('id', '!=', record.id),
+ ]
+
+ if self.search_count(domain):
+ raise UserError(
+ "A Vendor Pricelist with the same supplier and product already exists."
+ )
+
+
+ # @api.model
+ # def create(self, vals):
+ # record = super(ProductSupplierinfo, self).create(vals)
+ # self._check_unique_supplierinfo_on_vals(record)
+ # return record
+
+ # def write(self, vals):
+ # res = super(ProductSupplierinfo, self).write(vals)
+ # for record in self:
+ # self._check_unique_supplierinfo_on_vals(record)
+ # return res