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: