changeset 6925a51bf432 in modules/purchase_requisition:default
details: 
https://hg.tryton.org/modules/purchase_requisition?cmd=changeset;node=6925a51bf432
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:

 purchase.py |  36 +++++++++++++++++-------------------
 1 files changed, 17 insertions(+), 19 deletions(-)

diffs (67 lines):

diff -r 28f80a51425a -r 6925a51bf432 purchase.py
--- a/purchase.py       Fri Jan 10 17:03:58 2020 +0100
+++ b/purchase.py       Sat Jan 25 20:18:49 2020 +0100
@@ -16,22 +16,6 @@
 
 from trytond.modules.product import price_digits
 
-__all__ = ['Configuration', 'ConfigurationSequence',
-    'PurchaseRequisition', 'PurchaseRequisitionLine',
-    'PurchaseRequest', 'HandlePurchaseCancellationException',
-    'CreatePurchase', 'Purchase']
-
-
-STATES = [
-    ('draft', 'Draft'),
-    ('waiting', 'Waiting'),
-    ('rejected', 'Rejected'),
-    ('approved', 'Approved'),
-    ('processing', 'Processing'),
-    ('done', 'Done'),
-    ('cancel', 'Canceled'),
-    ]
-
 
 class Configuration(metaclass=PoolMeta):
     __name__ = 'purchase.configuration'
@@ -153,7 +137,15 @@
     lines = fields.One2Many(
         'purchase.requisition.line', 'requisition', 'Lines',
         states=_states, depends=_depends)
-    state = fields.Selection(STATES, 'State', readonly=True, required=True)
+    state = fields.Selection([
+            ('draft', "Draft"),
+            ('waiting', "Waiting"),
+            ('rejected', "Rejected"),
+            ('approved', "Approved"),
+            ('processing', "Processing"),
+            ('done', "Done"),
+            ('cancel', "Canceled"),
+            ], "State", readonly=True, required=True)
 
     del _states
 
@@ -457,8 +449,8 @@
             depends=_depends), 'on_change_with_amount')
     purchase_requests = fields.One2Many(
         'purchase.request', 'origin', 'Purchase Request', readonly=True)
-    purchase_requisition_state = fields.Function(
-        fields.Selection(STATES, 'Purchase Requisition State'),
+    purchase_requisition_state = fields.Function(fields.Selection(
+            'get_purchase_requisition_states', "Purchase Requisition State"),
         'on_change_with_purchase_requisition_state')
 
     del _states
@@ -481,6 +473,12 @@
         if self.product:
             return self.product.default_uom_category.id
 
+    @classmethod
+    def get_purchase_requisition_states(cls):
+        pool = Pool()
+        Requisition = pool.get('purchase.requisition')
+        return Requisition.fields_get(['state'])['state']['selection']
+
     @fields.depends('requisition', '_parent_requisition.state')
     def on_change_with_purchase_requisition_state(self, name=None):
         if self.requisition:

Reply via email to