diff --git a/delivery_note.fodt b/delivery_note.fodt index 38a2ca8c14..0d86400f36 100644 --- a/delivery_note.fodt +++ b/delivery_note.fodt @@ -475,7 +475,7 @@ <move.product.rec_name> - <format_number(move.quantity, shipment.delivery_address.party.lang, digits=move.unit_digits)><move.uom.symbol> + <format_number(move.quantity, shipment.delivery_address.party.lang, digits=move.uom.digits)><move.uom.symbol> @@ -488,4 +488,4 @@ </for> - \ No newline at end of file + diff --git a/internal_shipment.fodt b/internal_shipment.fodt index 8d81f88a61..aa0f14f826 100644 --- a/internal_shipment.fodt +++ b/internal_shipment.fodt @@ -506,7 +506,7 @@ <move.product.rec_name> - <format_number(move.quantity, user.language, digits=move.unit_digits)><move.uom.symbol> + <format_number(move.quantity, user.language, digits=move.uom.digits)><move.uom.symbol> @@ -525,4 +525,4 @@ </for> - \ No newline at end of file + diff --git a/inventory.py b/inventory.py index d91b5aea2b..fef9a9f6dd 100644 --- a/inventory.py +++ b/inventory.py @@ -328,18 +328,14 @@ class InventoryLine(ModelSQL, ModelView): ], states=_states, depends=_depends) uom = fields.Function(fields.Many2One('product.uom', 'UOM', help="The unit in which the quantity is specified."), 'get_uom') - unit_digits = fields.Function(fields.Integer('Unit Digits'), - 'get_unit_digits') - expected_quantity = fields.Float('Expected Quantity', required=True, - digits=(16, Eval('unit_digits', 2)), readonly=True, + expected_quantity = fields.Float( + "Expected Quantity", digits='uom', required=True, readonly=True, states={ 'invisible': Eval('id', -1) < 0, }, - depends=['unit_digits'], help="The quantity the system calculated should be in the location.") - quantity = fields.Float('Quantity', - digits=(16, Eval('unit_digits', 2)), - states=_states, depends=['unit_digits'] + _depends, + quantity = fields.Float( + "Quantity", digits='uom', states=_states, depends=_depends, help="The actual quantity found in the location.") moves = fields.One2Many('stock.move', 'origin', 'Moves', readonly=True) inventory = fields.Many2One('stock.inventory', 'Inventory', required=True, @@ -401,20 +397,14 @@ class InventoryLine(ModelSQL, ModelView): # Migration from 4.6: drop required on quantity table.not_null_action('quantity', action='remove') - @staticmethod - def default_unit_digits(): - return 2 - @staticmethod def default_expected_quantity(): return 0. @fields.depends('product') def on_change_product(self): - self.unit_digits = 2 if self.product: self.uom = self.product.default_uom - self.unit_digits = self.product.default_uom.digits @fields.depends('inventory', '_parent_inventory.location') def on_change_with_inventory_location(self, name=None): @@ -457,9 +447,6 @@ class InventoryLine(ModelSQL, ModelView): def get_uom(self, name): return self.product.default_uom.id - def get_unit_digits(self, name): - return self.product.default_uom.digits - @property def unique_key(self): key = [] @@ -594,7 +581,6 @@ class Count(Wizard): values['line'] = line.id values['product'] = line.product.id values['uom'] = line.uom.id - values['unit_digits'] = line.unit_digits if line.uom.rounding == 1: values['quantity'] = 1 return values @@ -674,17 +660,13 @@ class CountQuantity(ModelView): uom = fields.Many2One('product.uom', "UOM", readonly=True, help="The unit in which the quantities are specified.") total_quantity = fields.Float( - "Total Quantity", digits=(16, Eval('unit_digits', 2)), - readonly=True, depends=['unit_digits'], + "Total Quantity", digits='uom', readonly=True, help="The total amount of the line counted so far.") quantity = fields.Float( - "Quantity", digits=(16, Eval('unit_digits', 2)), required=True, - depends=['unit_digits'], + "Quantity", digits='uom', required=True, help="The quantity to add to the existing count.") - unit_digits = fields.Integer("Unit Digits", readonly=True) - @fields.depends('quantity', 'line') def on_change_quantity(self): if self.line: diff --git a/move.py b/move.py index 27d35d8185..f3f3b3310f 100644 --- a/move.py +++ b/move.py @@ -192,11 +192,9 @@ class Move(Workflow, ModelSQL, ModelView): ], depends=['state', 'unit_price', 'product_uom_category'], help="The unit in which the quantity is specified.") - unit_digits = fields.Function(fields.Integer('Unit Digits'), - 'on_change_with_unit_digits') - quantity = fields.Float("Quantity", required=True, - digits=(16, Eval('unit_digits', 2)), states=STATES, - depends=['state', 'unit_digits'], + quantity = fields.Float( + "Quantity", digits='uom', required=True, + states=STATES, depends=DEPENDS, help="The amount of stock moved.") internal_quantity = fields.Float('Internal Quantity', readonly=True, required=True) @@ -408,23 +406,12 @@ class Move(Workflow, ModelSQL, ModelView): company = Company(company) return company.currency.id - @staticmethod - def default_unit_digits(): - return 2 - - @fields.depends('uom') - def on_change_with_unit_digits(self, name=None): - if self.uom: - return self.uom.digits - return 2 - @fields.depends('product', 'uom') def on_change_product(self): if self.product: if (not self.uom or self.uom.category != self.product.default_uom.category): self.uom = self.product.default_uom - self.unit_digits = self.product.default_uom.digits @fields.depends('product') def on_change_with_product_uom_category(self, name=None): diff --git a/picking_list.fodt b/picking_list.fodt index 8b0bb53727..b0c23533fd 100644 --- a/picking_list.fodt +++ b/picking_list.fodt @@ -468,7 +468,7 @@ <move.product.rec_name> - <format_number(move.quantity, user.language, digits=move.unit_digits)> <move.uom.symbol> + <format_number(move.quantity, user.language, digits=move.uom.digits)> <move.uom.symbol> @@ -487,4 +487,4 @@ </for> - \ No newline at end of file + diff --git a/stock_reporting_margin.py b/stock_reporting_margin.py index 3e0d81b41c..6f0e1e3b36 100644 --- a/stock_reporting_margin.py +++ b/stock_reporting_margin.py @@ -344,11 +344,8 @@ class ProductMixin: depends=['company']) internal_quantity = fields.Float("Internal Quantity") quantity = fields.Function(fields.Float( - "Quantity", digits=(16, Eval('unit_digits', 2)), - depends=['unit_digits']), 'get_quantity') + "Quantity", digits='unit'), 'get_quantity') unit = fields.Function(fields.Many2One('product.uom', "Unit"), 'get_unit') - unit_digits = fields.Function( - fields.Integer("Unit Digits"), 'get_unit_digits') @classmethod def _columns(cls, tables, withs): @@ -379,9 +376,6 @@ class ProductMixin: def get_unit(self, name): return self.product.default_uom.id - def get_unit_digits(self, name): - return self.product.default_uom.digits - class Product(ProductMixin, Abstract, ModelView): "Stock Reporting Margin per Product" diff --git a/supplier_restocking_list.fodt b/supplier_restocking_list.fodt index 867063d80d..f9a16fad06 100644 --- a/supplier_restocking_list.fodt +++ b/supplier_restocking_list.fodt @@ -460,7 +460,7 @@ <move.product.rec_name> - <format_number(move.quantity, user.language, digits=move.unit_digits)> <move.uom.symbol> + <format_number(move.quantity, user.language, digits=move.uom.digits)> <move.uom.symbol> @@ -479,4 +479,4 @@ </for> - \ No newline at end of file + diff --git a/view/move_form.xml b/view/move_form.xml index 15417b07d8..5fa4ca0d60 100644 --- a/view/move_form.xml +++ b/view/move_form.xml @@ -33,6 +33,4 @@ this repository contains the full copyright notices and license terms. -->