This commit is contained in:
2026-03-20 10:01:22 +01:00
parent 6c7947c7c1
commit bf6e9f6a78
4 changed files with 52 additions and 0 deletions

View File

@@ -528,6 +528,44 @@ class PriceComposition(ModelSQL,ModelView):
line = fields.Many2One('purchase.line',"Purchase line")
component = fields.Char("Component")
price = fields.Numeric("Price")
class QualityAnalysis(ModelSQL,ModelView):
__name__ = 'quality.analysis'
line = fields.Many2One('purchase.line',"Purchase Line")
reference = fields.Char("Reference")
date = fields.Date("Analysis date")
attributes = fields.Dict(
'product.attribute', 'Attributes',
domain=[
('sets', '=', Eval('attribute_set')),
],
states={
'readonly': ~Eval('attribute_set'),
},
depends=['product', 'attribute_set'],
help="Add attributes to the variant."
)
product = fields.Function(
fields.Many2One('product.product', "Product"),
'on_change_with_product'
)
attribute_set = fields.Function(
fields.Many2One('product.attribute.set', "Attribute Set"),
'on_change_with_attribute_set'
)
@fields.depends('product')
def on_change_with_attribute_set(self, name=None):
if self.product and self.product.template and self.product.template.attribute_set:
return self.product.template.attribute_set.id
@fields.depends('line')
def on_change_with_product(self, name=None):
if self.line:
return self.line.product
class Line(metaclass=PoolMeta):
__name__ = 'purchase.line'
@@ -624,6 +662,8 @@ class Line(metaclass=PoolMeta):
finished = fields.Boolean("Mark as finished")
quality_analysis = fields.One2Many('quality.analysis','line',"Quality analysis")
@classmethod
def default_finished(cls):
return False