mirror of
https://github.com/bringout/oca-technical.git
synced 2026-04-21 11:52:02 +02:00
35 lines
1.1 KiB
Python
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
|