changeset 818629804169 in modules/sale_complaint:default
details: 
https://hg.tryton.org/modules/sale_complaint?cmd=changeset&node=818629804169
description:
        Provide digits from unit of measure

        issue10677
        review365801002
diffstat:

 complaint.py |  36 ++++--------------------------------
 1 files changed, 4 insertions(+), 32 deletions(-)

diffs (87 lines):

diff -r abf945c75a26 -r 818629804169 complaint.py
--- a/complaint.py      Sat Aug 21 09:09:56 2021 +0200
+++ b/complaint.py      Mon Aug 30 00:27:13 2021 +0200
@@ -392,15 +392,13 @@
         depends=_depends,
         help='Leave empty for all lines.')
 
-    quantity = fields.Float('Quantity',
-        digits=(16, Eval('unit_digits', 2)),
-        states=_line_states, depends=_line_depends + ['unit_digits'],
+    quantity = fields.Float(
+        "Quantity", digits='unit',
+        states=_line_states, depends=_line_depends,
         help='Leave empty for the same quantity.')
     unit = fields.Function(fields.Many2One('product.uom', 'Unit',
             states=_line_states, depends=_line_depends),
         'on_change_with_unit')
-    unit_digits = fields.Function(
-        fields.Integer('Unit Digits'), 'on_change_with_unit_digits')
     unit_price = Monetary(
         "Unit Price", currency='currency', digits=price_digits,
         states=_line_states, depends=_line_depends,
@@ -432,14 +430,6 @@
                     'sale.line', 'account.invoice.line'}):
             return self.complaint.origin.unit.id
 
-    @fields.depends('complaint',
-        '_parent_complaint.origin_model', '_parent_complaint.origin')
-    def on_change_with_unit_digits(self, name=None):
-        if (self.complaint
-                and self.complaint.origin_model in {
-                    'sale.line', 'account.invoice.line'}):
-            return self.complaint.origin.unit.digits
-
     @fields.depends(
         'quantity', 'unit_price', 'currency', 'sale_lines', 'invoice_lines',
         'complaint', '_parent_complaint.origin_model',
@@ -639,14 +629,9 @@
     action = fields.Many2One('sale.complaint.action', 'Action',
         ondelete='CASCADE', select=True, required=True)
     quantity = fields.Float(
-        "Quantity",
-        digits=(16, Eval('unit_digits', 2)),
-        states=_states,
-        depends=_depends + ['unit_digits'])
+        "Quantity", digits='unit', states=_states, depends=_depends)
     unit = fields.Function(
         fields.Many2One('product.uom', "Unit"), 'on_change_with_unit')
-    unit_digits = fields.Function(
-        fields.Integer("Unit Digits"), 'on_change_with_unit_digits')
     unit_price = Monetary(
         "Unit Price", currency='currency', digits=price_digits,
         states=_states, depends=_depends,
@@ -674,9 +659,6 @@
     def on_change_with_unit(self, name=None):
         raise NotImplementedError
 
-    def on_change_with_unit_digits(self, name=None):
-        raise NotImplementedError
-
     @fields.depends('currency', methods=['get_quantity', 'get_unit_price'])
     def on_change_with_amount(self, name=None):
         quantity = self.get_quantity() or 0
@@ -734,11 +716,6 @@
         if self.line:
             return self.line.unit.id
 
-    @fields.depends('line')
-    def on_change_with_unit_digits(self, name=None):
-        if self.line:
-            return self.line.unit.digits
-
     @fields.depends('quantity', 'line')
     def get_quantity(self):
         if self.quantity is not None:
@@ -772,11 +749,6 @@
         if self.line:
             return self.line.unit.id
 
-    @fields.depends('line')
-    def on_change_with_unit_digits(self, name=None):
-        if self.line:
-            return self.line.unit.digits
-
     @fields.depends('quantity', 'line')
     def get_quantity(self):
         if self.quantity is not None:

Reply via email to