oca-technical/odoo-bringout-oca-ddmrp-ddmrp/ddmrp/models/product_product.py
2025-08-29 15:43:03 +02:00

35 lines
1.1 KiB
Python

# Copyright 2020 ForgeFlow S.L. (http://www.forgeflow.com)
# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html).
from odoo import fields, models
class Product(models.Model):
_inherit = "product.product"
buffer_ids = fields.One2many(
comodel_name="stock.buffer",
string="Stock Buffers",
inverse_name="product_id",
)
buffer_count = fields.Integer(compute="_compute_buffer_count")
def write(self, values):
res = super().write(values)
if values.get("active") is False:
buffers = (
self.env["stock.buffer"].sudo().search([("product_id", "in", self.ids)])
)
buffers.write({"active": False})
return res
def _compute_buffer_count(self):
for rec in self:
rec.buffer_count = len(rec.buffer_ids)
def action_view_stock_buffers(self):
action = self.env["ir.actions.actions"]._for_xml_id("ddmrp.action_stock_buffer")
action["context"] = {}
action["domain"] = [("id", "in", self.buffer_ids.ids)]
return action