nfu/nfu_product/models/product_product.py
2025-07-24 08:06:28 +02:00

29 lines
1.2 KiB
Python

from odoo import models
class ProductProduct(models.Model):
_inherit = "product.product"
def write(self, vals):
if "company_ids" in vals:
for product in self:
company_ids = vals.get("company_ids", [])[0][2]
if company_ids:
related_packages = self.env["product.packaging"].search(
[("product_id", "=", product.id)]
)
# First, set the company_ids on packages if not set
for package in related_packages:
if not package.company_ids:
package.company_ids = product.company_ids
else:
allowed_company_ids = list(
set(package.company_ids.ids) & set(company_ids)
)
if not allowed_company_ids:
package.company_ids = [(6, 0, company_ids)]
else:
package.company_ids = [(6, 0, allowed_company_ids)]
res = super().write(vals)
return res