changeset 702bf7fc4e03 in modules/sale:default
details: https://hg.tryton.org/modules/sale?cmd=changeset;node=702bf7fc4e03
description:
        Remove global variables used for field definitions

        They give the false idea that they can be extended or reused which is 
not the
        case.

        issue8967
        review252851012
diffstat:

 sale.py |  38 +++++++++++++++++---------------------
 1 files changed, 17 insertions(+), 21 deletions(-)

diffs (76 lines):

diff -r 0257ec68a234 -r 702bf7fc4e03 sale.py
--- a/sale.py   Mon Jan 13 23:54:01 2020 +0100
+++ b/sale.py   Sat Jan 25 20:18:49 2020 +0100
@@ -22,24 +22,6 @@
 from .exceptions import (
     SaleValidationError, SaleQuotationError, PartyLocationError)
 
-__all__ = ['Sale', 'SaleIgnoredInvoice', 'SaleRecreatedInvoice',
-    'SaleLine', 'SaleLineTax', 'SaleLineIgnoredMove',
-    'SaleLineRecreatedMove', 'SaleReport', 'OpenCustomer',
-    'HandleShipmentExceptionAsk', 'HandleShipmentException',
-    'HandleInvoiceExceptionAsk', 'HandleInvoiceException',
-    'ReturnSaleStart', 'ReturnSale', 'ModifyHeader',
-    'get_shipments_returns', 'search_shipments_returns']
-
-_ZERO = Decimal(0)
-STATES = [
-    ('draft', 'Draft'),
-    ('quotation', 'Quotation'),
-    ('confirmed', 'Confirmed'),
-    ('processing', 'Processing'),
-    ('done', 'Done'),
-    ('cancel', 'Canceled'),
-    ]
-
 
 def get_shipments_returns(model_name):
     "Computes the returns or shipments"
@@ -91,7 +73,14 @@
             'readonly': Eval('state') != 'draft',
             },
         depends=['state'])
-    state = fields.Selection(STATES, 'State', readonly=True, required=True)
+    state = fields.Selection([
+            ('draft', "Draft"),
+            ('quotation', "Quotation"),
+            ('confirmed', "Confirmed"),
+            ('processing', "Processing"),
+            ('done', "Done"),
+            ('cancel', "Canceled"),
+            ], "State", readonly=True, required=True)
     sale_date = fields.Date('Sale Date',
         states={
             'readonly': ~Eval('state').in_(['draft', 'quotation']),
@@ -472,7 +461,7 @@
             else:
                 untaxed_amount[sale.id] = sum(
                     (line.amount for line in sale.lines
-                        if line.type == 'line'), _ZERO)
+                        if line.type == 'line'), Decimal(0))
                 if compute_taxes:
                     tax_amount[sale.id] = sale.get_tax_amount()
                     total_amount[sale.id] = (
@@ -1075,7 +1064,8 @@
                 },
             depends=['type']),
         'on_change_with_shipping_date')
-    sale_state = fields.Function(fields.Selection(STATES, 'Sale State'),
+    sale_state = fields.Function(
+        fields.Selection('get_sale_states', "Sale State"),
         'on_change_with_sale_state')
 
     @classmethod
@@ -1300,6 +1290,12 @@
                 shipping_date = max(shipping_date, Date.today())
             return shipping_date
 
+    @classmethod
+    def get_sale_states(cls):
+        pool = Pool()
+        Sale = pool.get('sale.sale')
+        return Sale.fields_get(['state'])['state']['selection']
+
     @fields.depends('sale', '_parent_sale.state')
     def on_change_with_sale_state(self, name=None):
         if self.sale:

Reply via email to