[FIX] bugfixed the order of computing records for store={} fields. There was a problem for fields that were dependant on same object like the membership_state field on
res_partner that depend on free_member field of res_partner: store = { 'account.invoice':(_get_invoice_partner,['state'], 10), 'membership.membership_line':(_get_partner_id,['state'], 10), 'res.partner':(_get_partners, ['free_member'], 10) } bzr revid: qdp@tinyerp.com-20090218142454-d9h6bdy4h3wwcj1i
This commit is contained in:
parent
85dec38142
commit
a4b93b2a4d
|
@ -2491,15 +2491,20 @@ class orm(orm_template):
|
|||
for id in filter(None, ids2):
|
||||
result[fncts[fnct][0]].setdefault(id, [])
|
||||
result[fncts[fnct][0]][id].append(fnct)
|
||||
result2 = []
|
||||
dict = {}
|
||||
for object in result:
|
||||
k2 = {}
|
||||
for id,fnct in result[object].items():
|
||||
k2.setdefault(tuple(fnct), [])
|
||||
k2[tuple(fnct)].append(id)
|
||||
for fnct,id in k2.items():
|
||||
result2.append((fncts[fnct[0]][4],object,id,map(lambda x: fncts[x][1], fnct)))
|
||||
result2.sort()
|
||||
dict.setdefault(fncts[fnct[0]][4],[])
|
||||
dict[fncts[fnct[0]][4]].append((fncts[fnct[0]][4],object,id,map(lambda x: fncts[x][1], fnct)))
|
||||
result2 = []
|
||||
tmp = dict.keys()
|
||||
tmp.sort()
|
||||
for k in tmp:
|
||||
result2+=dict[k]
|
||||
return result2
|
||||
|
||||
def _store_set_values(self, cr, uid, ids, fields, context):
|
||||
|
|
Loading…
Reference in New Issue