changeset af86855d9ca3 in modules/sale_complaint:default
details:
https://hg.tryton.org/modules/sale_complaint?cmd=changeset&node=af86855d9ca3
description:
Send only the required fields when fetching a readonly view definition
issue11134
review380081002
diffstat:
complaint.py | 43 +++++++++++++++++--------------------------
sale.py | 3 +--
2 files changed, 18 insertions(+), 28 deletions(-)
diffs (162 lines):
diff -r 925eef105f9a -r af86855d9ca3 complaint.py
--- a/complaint.py Wed Apr 06 23:37:43 2022 +0200
+++ b/complaint.py Fri Apr 08 19:07:14 2022 +0200
@@ -33,26 +33,24 @@
_states = {
'readonly': Eval('state') != 'draft',
}
- _depends = ['state']
number = fields.Char('Number', readonly=True, select=True)
reference = fields.Char('Reference', select=True)
- date = fields.Date('Date', states=_states, depends=_depends)
+ date = fields.Date('Date', states=_states)
customer = fields.Many2One(
'party.party', "Customer", required=True, states=_states,
context={
'company': Eval('company', -1),
},
- depends=_depends + ['company'])
+ depends={'company'})
address = fields.Many2One('party.address', 'Address',
domain=[('party', '=', Eval('customer'))],
- states=_states, depends=_depends + ['customer'])
+ states=_states)
company = fields.Many2One('company.company', 'Company', required=True,
- states=_states, depends=_depends)
- employee = fields.Many2One('company.employee', 'Employee',
- states=_states, depends=_depends)
+ states=_states)
+ employee = fields.Many2One('company.employee', 'Employee', states=_states)
type = fields.Many2One('sale.complaint.type', 'Type', required=True,
- states=_states, depends=_depends)
+ states=_states)
origin = fields.Reference('Origin', selection='get_origin',
domain={
'sale.sale': [
@@ -93,18 +91,18 @@
| Bool(Eval('actions', [0]))),
'required': Bool(Eval('origin_model')),
},
- depends=['state', 'customer', 'origin_model', 'company'])
+ depends={'origin_model'})
origin_id = fields.Function(fields.Integer('Origin ID'),
'on_change_with_origin_id')
origin_model = fields.Function(fields.Char('Origin Model'),
'on_change_with_origin_model')
- description = fields.Text('Description', states=_states, depends=_depends)
+ description = fields.Text('Description', states=_states)
actions = fields.One2Many('sale.complaint.action', 'complaint', 'Actions',
states={
'readonly': ((Eval('state') != 'draft')
| (If(~Eval('origin_id', 0), 0, Eval('origin_id', 0)) <= 0)),
},
- depends=['state', 'origin_model', 'origin_id'])
+ depends={'origin_model'})
state = fields.Selection([
('draft', 'Draft'),
('waiting', 'Waiting'),
@@ -345,18 +343,16 @@
'readonly': ((Eval('complaint_state') != 'draft')
| Bool(Eval('result'))),
}
- _depends = ['complaint_state', 'result']
_line_states = {
'invisible': ~Eval('_parent_complaint', {}
).get('origin_model', 'sale.line').in_(
['sale.line', 'account.invoice.line']),
'readonly': _states['readonly'],
}
- _line_depends = _depends
complaint = fields.Many2One(
'sale.complaint', 'Complaint', required=True, ondelete='CASCADE',
- states=_states, depends=_depends)
+ states=_states)
action = fields.Selection([
('sale_return', 'Create Sale Return'),
('credit_note', 'Create Credit Note'),
@@ -369,7 +365,6 @@
).get('origin_model', 'sale.sale') != 'sale.sale',
'readonly': _states['readonly'],
},
- depends=_depends,
help='Leave empty for all lines.')
invoice_lines = fields.One2Many(
@@ -381,19 +376,18 @@
) != 'account.invoice',
'readonly': _states['readonly'],
},
- depends=_depends,
help='Leave empty for all lines.')
quantity = fields.Float(
"Quantity", digits='unit',
- states=_line_states, depends=_line_depends,
+ states=_line_states,
help='Leave empty for the same quantity.')
unit = fields.Function(fields.Many2One('product.uom', 'Unit',
- states=_line_states, depends=_line_depends),
+ states=_line_states),
'on_change_with_unit')
unit_price = Monetary(
"Unit Price", currency='currency', digits=price_digits,
- states=_line_states, depends=_line_depends,
+ states=_line_states,
help='Leave empty for the same price.')
amount = fields.Function(Monetary(
@@ -616,17 +610,16 @@
(Eval('complaint_state') != 'draft')
| Bool(Eval('_parent_action.result', True))),
}
- _depends = ['complaint_state']
action = fields.Many2One('sale.complaint.action', 'Action',
ondelete='CASCADE', select=True, required=True)
quantity = fields.Float(
- "Quantity", digits='unit', states=_states, depends=_depends)
+ "Quantity", digits='unit', states=_states)
unit = fields.Function(
fields.Many2One('product.uom', "Unit"), 'on_change_with_unit')
unit_price = Monetary(
"Unit Price", currency='currency', digits=price_digits,
- states=_states, depends=_depends,
+ states=_states,
help='Leave empty for the same price.')
amount = fields.Function(Monetary(
@@ -700,8 +693,7 @@
domain=[
('type', '=', 'line'),
('sale', '=', Eval('complaint_origin_id', -1)),
- ],
- depends=['complaint_origin_id'])
+ ])
@fields.depends('line')
def on_change_with_unit(self, name=None):
@@ -733,8 +725,7 @@
domain=[
('type', '=', 'line'),
('invoice', '=', Eval('complaint_origin_id', -1)),
- ],
- depends=['complaint_origin_id'])
+ ])
@fields.depends('line')
def on_change_with_unit(self, name=None):
diff -r 925eef105f9a -r af86855d9ca3 sale.py
--- a/sale.py Wed Apr 06 23:37:43 2022 +0200
+++ b/sale.py Fri Apr 08 19:07:14 2022 +0200
@@ -40,8 +40,7 @@
('sequence_type', '=',
Id('sale_complaint', 'sequence_type_complaint')),
('company', 'in', [Eval('company', -1), None]),
- ],
- depends=['company'])
+ ])
@classmethod
def __register__(cls, module_name):