changeset b93652467c11 in modules/party:default
details: https://hg.tryton.org/modules/party?cmd=changeset&node=b93652467c11
description:
Send only the required fields when fetching a readonly view definition
issue11134
review380081002
diffstat:
address.py | 9 +++------
contact_mechanism.py | 14 +++++++-------
party.py | 4 ----
3 files changed, 10 insertions(+), 17 deletions(-)
diffs (116 lines):
diff -r 94fd562eb13e -r b93652467c11 address.py
--- a/address.py Wed Apr 06 23:37:43 2022 +0200
+++ b/address.py Fri Apr 08 19:07:13 2022 +0200
@@ -28,8 +28,7 @@
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 @@
('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 @@
domain=[
('party', '=', Eval('party')),
('type', 'in', ['fr_siret']),
- ],
- depends=['party'])
+ ])
@classmethod
def __setup__(cls):
diff -r 94fd562eb13e -r b93652467c11 contact_mechanism.py
--- a/contact_mechanism.py Wed Apr 06 23:37:43 2022 +0200
+++ b/contact_mechanism.py Fri Apr 08 19:07:13 2022 +0200
@@ -48,9 +48,9 @@
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 @@
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 -r 94fd562eb13e -r b93652467c11 party.py
--- a/party.py Wed Apr 06 23:37:43 2022 +0200
+++ b/party.py Fri Apr 08 19:07:13 2022 +0200
@@ -39,7 +39,6 @@
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 @@
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 @@
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 @@
domain=[
('id', '!=', Eval('source', -1)),
],
- depends=['source'],
help="The party that replaces.")
@classmethod