05.03.26
This commit is contained in:
@@ -485,28 +485,26 @@ class Line(metaclass=PoolMeta):
|
||||
premium = fields.Numeric("Premium/Discount",digits='unit')
|
||||
fee_ = fields.Many2One('fee.fee',"Fee")
|
||||
|
||||
attributes = fields.Dict('product.attribute', 'Attributes',
|
||||
attributes = fields.Dict(
|
||||
'product.attribute', 'Attributes',
|
||||
domain=[
|
||||
('sets', '=', Eval('product._parent_template', {}).get('attribute_set',
|
||||
Eval('attribute_set', -1))),
|
||||
],
|
||||
('sets', '=', Eval('attribute_set')),
|
||||
],
|
||||
states={
|
||||
'readonly': (~Eval('attribute_set')
|
||||
& ~Eval('product._parent_template', {}).get('attribute_set')),
|
||||
},
|
||||
depends={'product.template'},
|
||||
help="Add attributes to the variant.")
|
||||
|
||||
attributes_name = fields.Function(fields.Char(
|
||||
"Attributes Name",
|
||||
states={
|
||||
'invisible': ~Eval('attribute_set'),
|
||||
}),
|
||||
'on_change_with_attributes_name')
|
||||
'readonly': ~Eval('attribute_set'),
|
||||
},
|
||||
depends=['product', 'attribute_set'],
|
||||
help="Add attributes to the variant."
|
||||
)
|
||||
|
||||
attributes_name = fields.Function(
|
||||
fields.Char("Attributes Name"),
|
||||
'on_change_with_attributes_name'
|
||||
)
|
||||
|
||||
@fields.depends('product', 'attributes')
|
||||
def on_change_with_attributes_name(self, name=None):
|
||||
if not self.product.attribute_set or not self.attributes:
|
||||
if not self.product or not self.product.attribute_set or not self.attributes:
|
||||
return
|
||||
|
||||
def key(attribute):
|
||||
@@ -516,10 +514,47 @@ class Line(metaclass=PoolMeta):
|
||||
for attribute in sorted(self.product.attribute_set.attributes, key=key):
|
||||
if attribute.name in self.attributes:
|
||||
value = self.attributes[attribute.name]
|
||||
values.append(gettext('product_attribute.msg_label_value',
|
||||
label=attribute.string,
|
||||
value=attribute.format(value)))
|
||||
values.append(gettext(
|
||||
'product_attribute.msg_label_value',
|
||||
label=attribute.string,
|
||||
value=attribute.format(value)
|
||||
))
|
||||
return " | ".join(filter(None, values))
|
||||
# attributes = fields.Dict('product.attribute', 'Attributes',
|
||||
# domain=[
|
||||
# ('sets', '=', Eval('product._parent_template', {}).get('attribute_set',
|
||||
# Eval('attribute_set', -1))),
|
||||
# ],
|
||||
# states={
|
||||
# 'readonly': (~Eval('attribute_set')
|
||||
# & ~Eval('product._parent_template', {}).get('attribute_set')),
|
||||
# },
|
||||
# depends={'product.template'},
|
||||
# help="Add attributes to the variant.")
|
||||
|
||||
# attributes_name = fields.Function(fields.Char(
|
||||
# "Attributes Name",
|
||||
# states={
|
||||
# 'invisible': ~Eval('attribute_set'),
|
||||
# }),
|
||||
# 'on_change_with_attributes_name')
|
||||
|
||||
# @fields.depends('product', 'attributes')
|
||||
# def on_change_with_attributes_name(self, name=None):
|
||||
# if not self.product.attribute_set or not self.attributes:
|
||||
# return
|
||||
|
||||
# def key(attribute):
|
||||
# return getattr(attribute, 'sequence', attribute.name)
|
||||
|
||||
# values = []
|
||||
# for attribute in sorted(self.product.attribute_set.attributes, key=key):
|
||||
# if attribute.name in self.attributes:
|
||||
# value = self.attributes[attribute.name]
|
||||
# values.append(gettext('product_attribute.msg_label_value',
|
||||
# label=attribute.string,
|
||||
# value=attribute.format(value)))
|
||||
# return " | ".join(filter(None, values))
|
||||
|
||||
@classmethod
|
||||
def default_price_type(cls):
|
||||
|
||||
Reference in New Issue
Block a user