Remove id to on_change calls that are cached
issue8234 review275131002
This commit is contained in:
1 parent
a28a914142
commit
5c6d71f72c
2 files changed
+22
-6
No files matched your search
@@ -52,7 +52,7 @@ class SelectionMixin(object):
|
||||
if 'relation' not in self.attrs:
|
||||
change_with = self.attrs.get('selection_change_with') or []
|
||||
value = record._get_on_change_args(change_with)
|
||||
del value['id']
|
||||
value.pop('id', None)
|
||||
self.init_selection(value)
|
||||
self.filter_selection(domain, record, field)
|
||||
else:
|
||||
|
||||
@@ -513,7 +513,6 @@ class Record(SignalEvent):
|
||||
scope = scope[i]
|
||||
else:
|
||||
res[arg] = scope
|
||||
res['id'] = self.id
|
||||
return res
|
||||
|
||||
def on_change(self, fieldnames):
|
||||
@@ -526,8 +525,16 @@ class Record(SignalEvent):
|
||||
|
||||
if values:
|
||||
try:
|
||||
changes = RPCExecute('model', self.model_name, 'on_change',
|
||||
values, fieldnames, context=self.get_context())
|
||||
if len(fieldnames) == 1:
|
||||
fieldname, = fieldnames
|
||||
changes = []
|
||||
changes.append(RPCExecute(
|
||||
'model', self.model_name, 'on_change_' + fieldname,
|
||||
values, context=self.get_context()))
|
||||
else:
|
||||
changes = RPCExecute(
|
||||
'model', self.model_name, 'on_change',
|
||||
values, fieldnames, context=self.get_context())
|
||||
except RPCException:
|
||||
return
|
||||
for change in changes:
|
||||
@@ -555,8 +562,17 @@ class Record(SignalEvent):
|
||||
self.value.pop(fieldname + '.', None)
|
||||
if fieldnames:
|
||||
try:
|
||||
result = RPCExecute('model', self.model_name, 'on_change_with',
|
||||
values, list(fieldnames), context=self.get_context())
|
||||
if len(fieldnames) == 1:
|
||||
fieldname, = fieldnames
|
||||
result = {}
|
||||
result[fieldname] = RPCExecute(
|
||||
'model', self.model_name,
|
||||
'on_change_with_' + fieldname,
|
||||
values, context=self.get_context())
|
||||
else:
|
||||
result = RPCExecute(
|
||||
'model', self.model_name, 'on_change_with',
|
||||
values, list(fieldnames), context=self.get_context())
|
||||
except RPCException:
|
||||
return
|
||||
self.set_on_change(result)
|
||||
|
||||
Reference in new issue
Block a user