changeset 67917ffe1439 in modules/purchase_requisition:default details: https://hg.tryton.org/modules/purchase_requisition?cmd=changeset&node=67917ffe1439 description: Send only the required fields when fetching a readonly view definition
issue11134 review380081002 diffstat: purchase.py | 41 ++++++++++++++--------------------------- 1 files changed, 14 insertions(+), 27 deletions(-) diffs (122 lines): diff -r add0efde098f -r 67917ffe1439 purchase.py --- a/purchase.py Wed Apr 06 23:37:43 2022 +0200 +++ b/purchase.py Fri Apr 08 19:07:13 2022 +0200 @@ -53,8 +53,7 @@ ('sequence_type', '=', Id('purchase_requisition', 'sequence_type_purchase_requisition')), - ], - depends=['company']) + ]) @classmethod def __register__(cls, module_name): @@ -93,40 +92,34 @@ _states = { 'readonly': Eval('state') != 'draft', } - _depends = ['state'] company = fields.Many2One( 'company.company', "Company", required=True, select=True, states={ 'readonly': (Eval('state') != 'draft') | Eval('lines', [0]), - }, - depends=['lines'] + _depends) + }) number = fields.Char('Number', readonly=True, select=True) - description = fields.Char( - 'Description', states=_states, depends=_depends) + description = fields.Char('Description', states=_states) employee = fields.Many2One( - 'company.employee', 'Employee', required=True, - states=_states, depends=_depends) + 'company.employee', 'Employee', required=True, states=_states) supply_date = fields.Date( 'Supply Date', states={ 'required': ~Eval('state').in_(['draft', 'cancelled']), 'readonly': _states['readonly'], - }, - depends=_depends) + }) warehouse = fields.Many2One( 'stock.location', 'Warehouse', domain=[ ('type', '=', 'warehouse'), ], - states=_states, depends=_depends) + states=_states) currency = fields.Many2One( 'currency.currency', 'Currency', states={ 'readonly': (_states['readonly'] | (Eval('lines', [0]) & Eval('currency'))), - }, - depends=_depends) + }) total_amount = fields.Function( Monetary("Total", currency='currency', digits='currency'), 'get_amount') @@ -134,7 +127,7 @@ "Total Cache", currency='currency', digits='currency') lines = fields.One2Many( 'purchase.requisition.line', 'requisition', 'Lines', - states=_states, depends=_depends) + states=_states) approved_by = employee_field( "Approved By", states=['approved', 'processing', 'done', 'cancelled']) @@ -428,38 +421,33 @@ _states = { 'readonly': Eval('purchase_requisition_state') != 'draft', } - _depends = ['purchase_requisition_state'] requisition = fields.Many2One( 'purchase.requisition', 'Requisition', ondelete='CASCADE', select=True, required=True) - supplier = fields.Many2One( - 'party.party', 'Supplier', states=_states, depends=_depends) + supplier = fields.Many2One('party.party', 'Supplier', states=_states) product = fields.Many2One( 'product.product', 'Product', ondelete='RESTRICT', domain=[ ('purchasable', '=', True), ], - states=_states, depends=_depends) + states=_states) product_uom_category = fields.Function( fields.Many2One('product.uom.category', "Product UOM Category"), 'on_change_with_product_uom_category') - description = fields.Text("Description", states=_states, depends=_depends) + description = fields.Text("Description", states=_states) summary = fields.Function(fields.Char('Summary'), 'on_change_with_summary') quantity = fields.Float( - "Quantity", digits='unit', required=True, - states=_states, depends=_depends) + "Quantity", digits='unit', required=True, states=_states) unit = fields.Many2One( 'product.uom', 'Unit', ondelete='RESTRICT', states={ 'required': Bool(Eval('product')), 'readonly': _states['readonly'], - }, - depends=['product'] + _depends) + }) unit_price = Monetary( - 'Unit Price', currency='currency', digits=price_digits, - states=_states, depends=_depends) + 'Unit Price', currency='currency', digits=price_digits, states=_states) currency = fields.Function(fields.Many2One('currency.currency', 'Currency'), 'on_change_with_currency') amount = fields.Function(Monetary( @@ -483,7 +471,6 @@ ('category', 'in', [Eval(c) for c in unit_categories]), ('category', '!=', -1)), ] - cls.unit.depends.extend(unit_categories) @classmethod def _unit_categories(cls):