From f899bda258693dcad05caccf8cbd29b8401b7a9c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicolas=20=C3=89vrard?= Date: Fri, 8 Apr 2022 19:07:13 +0200 Subject: [PATCH] Send only the required fields when fetching a readonly view definition issue11134 review380081002 --- address.py | 9 +++------ contact_mechanism.py | 14 +++++++------- party.py | 4 ---- 3 files changed, 10 insertions(+), 17 deletions(-) diff --git a/address.py b/address.py index e60c70c324..1437dc7373 100644 --- a/address.py +++ b/address.py @@ -28,8 +28,7 @@ class Address(DeactivableMixin, sequence_ordered(), ModelSQL, ModelView): party = fields.Many2One('party.party', 'Party', required=True, ondelete='CASCADE', select=True, states={ 'readonly': Eval('id', 0) > 0, - }, - depends=['id']) + }) party_name = fields.Char( "Party Name", help="If filled, replace the name of the party for address formatting") @@ -54,8 +53,7 @@ class Address(DeactivableMixin, sequence_ordered(), ModelSQL, ModelView): ('type', 'in', Eval('subdivision_types', [])), () ), - ], - depends=['country', 'subdivision_types']) + ]) full_address = fields.Function(fields.Text('Full Address'), 'get_full_address') identifiers = fields.One2Many( @@ -63,8 +61,7 @@ class Address(DeactivableMixin, sequence_ordered(), ModelSQL, ModelView): domain=[ ('party', '=', Eval('party')), ('type', 'in', ['fr_siret']), - ], - depends=['party']) + ]) @classmethod def __setup__(cls): diff --git a/contact_mechanism.py b/contact_mechanism.py index 077127958c..76caef0309 100644 --- a/contact_mechanism.py +++ b/contact_mechanism.py @@ -48,9 +48,9 @@ class ContactMechanism( type = fields.Selection(_TYPES, "Type", required=True, sort=False) value = fields.Char("Value", select=True, # Add all function fields to ensure to always fill them via on_change - depends=[ + depends={ 'email', 'website', 'skype', 'sip', 'other_value', - 'value_compact']) + 'value_compact'}) value_compact = fields.Char('Value Compact', readonly=True) name = fields.Char("Name") comment = fields.Text("Comment") @@ -66,27 +66,27 @@ class ContactMechanism( email = fields.Function(fields.Char('E-Mail', states={ 'invisible': Eval('type') != 'email', 'required': Eval('type') == 'email', - }, depends=['value', 'type']), + }, depends={'value'}), 'get_value', setter='set_value') website = fields.Function(fields.Char('Website', states={ 'invisible': Eval('type') != 'website', 'required': Eval('type') == 'website', - }, depends=['value', 'type']), + }, depends={'value'}), 'get_value', setter='set_value') skype = fields.Function(fields.Char('Skype', states={ 'invisible': Eval('type') != 'skype', 'required': Eval('type') == 'skype', - }, depends=['value', 'type']), + }, depends={'value'}), 'get_value', setter='set_value') sip = fields.Function(fields.Char('SIP', states={ 'invisible': Eval('type') != 'sip', 'required': Eval('type') == 'sip', - }, depends=['value', 'type']), + }, depends={'value'}), 'get_value', setter='set_value') other_value = fields.Function(fields.Char('Value', states={ 'invisible': Eval('type').in_(['email', 'website', 'skype', 'sip']), 'required': ~Eval('type').in_(['email', 'website']), - }, depends=['value', 'type']), + }, depends={'value'}), 'get_value', setter='set_value') url = fields.Function(fields.Char('URL', states={ 'invisible': ~Eval('url'), diff --git a/party.py b/party.py index 6e5b6a5cdd..3d27a0a0ad 100644 --- a/party.py +++ b/party.py @@ -39,7 +39,6 @@ class Party(DeactivableMixin, ModelSQL, ModelView, MultiValueMixin): states={ 'readonly': Eval('code_readonly', True), }, - depends=['code_readonly'], help="The unique identifier of the party.") code_readonly = fields.Function(fields.Boolean('Code Readonly'), 'get_code_readonly') @@ -98,7 +97,6 @@ class Party(DeactivableMixin, ModelSQL, ModelView, MultiValueMixin): cls.active.states.update({ 'readonly': Bool(Eval('replaced_by')), }) - cls.active.depends.append('replaced_by') @classmethod def __register__(cls, module_name): @@ -627,7 +625,6 @@ class Identifier(sequence_ordered(), DeactivableMixin, ModelSQL, ModelView): domain=[ ('party', '=', Eval('party', -1)), ], - depends=['party', 'type_address'], help="The address identified by this record.") type = fields.Selection('get_types', 'Type') type_string = type.translated('type') @@ -893,7 +890,6 @@ class ReplaceAsk(ModelView): domain=[ ('id', '!=', Eval('source', -1)), ], - depends=['source'], help="The party that replaces.") @classmethod