Use a list of dictionaries in create().
issue2358 review582003
This commit is contained in:
1 parent
203d23f4f1
commit
067d9f2cc6
4 files changed
+21
-18
No files matched your search
+11
-11
@@ -187,12 +187,12 @@ class ViewSearch(object):
|
||||
def add(self, model, name, domain):
|
||||
domain = PYSONEncoder().encode(domain)
|
||||
try:
|
||||
id_ = RPCExecute('model', 'ir.ui.view_search',
|
||||
'create', {
|
||||
'model': model,
|
||||
'name': name,
|
||||
'domain': domain,
|
||||
})
|
||||
id_, = RPCExecute('model', 'ir.ui.view_search',
|
||||
'create', [{
|
||||
'model': model,
|
||||
'name': name,
|
||||
'domain': domain,
|
||||
}])
|
||||
except RPCException:
|
||||
return
|
||||
self.searches.setdefault(model, []).append((id_, name, domain))
|
||||
@@ -1049,11 +1049,11 @@ def process_exception(exception, *args, **kwargs):
|
||||
name, msg, description = exception.args
|
||||
res = userwarning(description, msg)
|
||||
if res in ('always', 'ok'):
|
||||
args2 = ('model', 'res.user.warning', 'create', {
|
||||
'user': rpc._USER,
|
||||
'name': name,
|
||||
'always': (res == 'always'),
|
||||
}, rpc.CONTEXT)
|
||||
args2, = ('model', 'res.user.warning', 'create', [{
|
||||
'user': rpc._USER,
|
||||
'name': name,
|
||||
'always': (res == 'always'),
|
||||
}], rpc.CONTEXT)
|
||||
try:
|
||||
rpc_execute(*args2)
|
||||
except TrytonServerError, exception:
|
||||
|
||||
@@ -530,6 +530,7 @@ class O2MField(CharField):
|
||||
record_deleted = record.value[self.name].record_deleted
|
||||
result = [('add', [])]
|
||||
parent_name = self.attrs.get('relation_field', '')
|
||||
to_create = []
|
||||
for record2 in record.value[self.name]:
|
||||
if record2 in record_removed or record2 in record_deleted:
|
||||
continue
|
||||
@@ -542,7 +543,9 @@ class O2MField(CharField):
|
||||
else:
|
||||
values = record2.get()
|
||||
values.pop(parent_name, None)
|
||||
result.append(('create', values))
|
||||
to_create.append(values)
|
||||
if to_create:
|
||||
result.append(('create', to_create))
|
||||
if not result[0][1]:
|
||||
del result[0]
|
||||
if record_removed:
|
||||
|
||||
@@ -267,8 +267,8 @@ class Record(SignalEvent):
|
||||
if self.id < 0:
|
||||
value = self.get()
|
||||
try:
|
||||
res = RPCExecute('model', self.model_name, 'create', value,
|
||||
context=self.context_get())
|
||||
res, = RPCExecute('model', self.model_name, 'create',
|
||||
[value], context=self.context_get())
|
||||
except RPCException:
|
||||
return False
|
||||
old_id = self.id
|
||||
|
||||
@@ -313,13 +313,13 @@ class WinExport(NoModal):
|
||||
fields.append(field_name)
|
||||
iter = self.model2.iter_next(iter)
|
||||
try:
|
||||
new_id = RPCExecute('model', 'ir.export', 'create', {
|
||||
new_id, = RPCExecute('model', 'ir.export', 'create', [{
|
||||
'name': name,
|
||||
'resource': self.model,
|
||||
'export_fields': [('create', {
|
||||
'export_fields': ('create', [{
|
||||
'name': x,
|
||||
}) for x in fields],
|
||||
})
|
||||
} for x in fields]),
|
||||
}])
|
||||
except RPCException:
|
||||
return
|
||||
self.predef_model.append((
|
||||
|
||||
Reference in new issue
Block a user