mirror of
https://github.com/bringout/oca-technical.git
synced 2026-04-19 16:32:05 +02:00
39 lines
1.3 KiB
Python
39 lines
1.3 KiB
Python
# Copyright 2019-20 ForgeFlow S.L. (http://www.forgeflow.com)
|
|
# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html).
|
|
|
|
from odoo import _, api, fields, models
|
|
from odoo.exceptions import ValidationError
|
|
|
|
|
|
class ProductTemplate(models.Model):
|
|
_inherit = "product.template"
|
|
|
|
buffer_count = fields.Integer(compute="_compute_buffer_count")
|
|
|
|
def _compute_buffer_count(self):
|
|
for rec in self:
|
|
rec.buffer_count = sum(
|
|
variant.buffer_count for variant in rec.product_variant_ids
|
|
)
|
|
|
|
# UOM: (stock_orderpoint_uom):
|
|
@api.constrains("uom_id")
|
|
def _check_buffer_procure_uom(self):
|
|
for rec in self:
|
|
buffer = self.env["stock.buffer"].search(
|
|
[
|
|
("procure_uom_id.category_id", "!=", rec.uom_id.category_id.id),
|
|
("product_id", "in", rec.product_variant_ids.ids),
|
|
],
|
|
limit=1,
|
|
)
|
|
if buffer:
|
|
raise ValidationError(
|
|
_(
|
|
"At least one stock buffer for this product has a "
|
|
"different Procurement unit of measure category."
|
|
)
|
|
)
|
|
|
|
def action_view_stock_buffers(self):
|
|
return self.product_variant_ids.action_view_stock_buffers()
|