Send only the required fields when fetching a readonly view definition
issue11134 review380081002
This commit is contained in:
+3
-6
@@ -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):
|
||||
|
||||
@@ -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'),
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user