Use DigitsMixin for quantity of measurements

issue10779
This commit is contained in:
Raimon Esteve 2021-10-22 11:11:57 +02:00
parent 558d373875
commit c571ca877d
3 changed files with 12 additions and 17 deletions

View File

@ -126,9 +126,9 @@ msgctxt "field:product.template-extra.product,quantity:"
msgid "Quantity"
msgstr "Quantitat"
msgctxt "field:product.template-extra.product,unit_digits:"
msgid "Unit Digits"
msgstr "Decimals de la unitat"
msgctxt "field:product.template-extra.product,unit:"
msgid "Unit"
msgstr "Unitat"
msgctxt "field:product.template-product.packaging,packaged_product:"
msgid "Packaged Product"

View File

@ -126,9 +126,9 @@ msgctxt "field:product.template-extra.product,quantity:"
msgid "Quantity"
msgstr "Cantidad"
msgctxt "field:product.template-extra.product,unit_digits:"
msgid "Unit Digits"
msgstr "Dígitos unidad"
msgctxt "field:product.template-extra.product,unit:"
msgid "Unit"
msgstr "Unidad"
msgctxt "field:product.template-product.packaging,packaged_product:"
msgid "Packaged Product"

View File

@ -40,25 +40,20 @@ class ExtraProductPackaging(ModelSQL, ModelView):
'readonly': Bool(Eval('packaged_product')),
})
product = fields.Many2One('product.template', 'Product', required=True)
unit_digits = fields.Function(fields.Integer('Unit Digits'),
'on_change_with_unit_digits')
quantity = fields.Float('Quantity',
digits=(16, Eval('unit_digits', 2)),
depends=['unit_digits'])
unit = fields.Function(fields.Many2One('product.uom', 'Unit'),
'on_change_with_unit')
quantity = fields.Float('Quantity', digits='unit')
@fields.depends('extra_product')
def on_change_with_unit_digits(self, name=None):
def on_change_with_unit(self, name=None):
if self.extra_product:
return self.extra_product.default_uom.digits
return 2
return self.extra_product.default_uom.id
class Template(metaclass=PoolMeta):
__name__ = 'product.template'
density = fields.Float('Density (kg/m3)',
digits=(16, Eval('weight_digits', 2)),
depends=['weight_digits'])
density = fields.Float('Density (kg/m3)', digits='weight_uom')
bulk_type = fields.Boolean('Bulk')
bulk_product = fields.Many2One('product.product', 'Bulk Product',
domain=[