[IMP] browse() on reference fields

bzr revid: rga@tinyerp.co.in-20100316141408-7u2hg1nmgplpu0n5
This commit is contained in:
Rga (Open ERP) 2010-03-16 19:44:08 +05:30
parent d5ce03433a
commit 122901dc7a
1 changed files with 10 additions and 1 deletions

View File

@ -247,6 +247,15 @@ class browse_record(object):
new_data[n] = browse_null()
elif f._type in ('one2many', 'many2many') and len(data[n]):
new_data[n] = self._list_class([browse_record(self._cr, self._uid, id, self._table.pool.get(f._obj), self._cache, context=self._context, list_class=self._list_class, fields_process=self._fields_process) for id in data[n]], self._context)
elif f._type in ('reference'):
if data[n]:
ref_obj, ref_id = data[n].split(',')
ref_id = long(ref_id)
obj = self._table.pool.get(ref_obj)
compids = False
new_data[n] = browse_record(self._cr, self._uid, ref_id, obj, self._cache, context=self._context, list_class=self._list_class, fields_process=self._fields_process)
else:
new_data[n] = browse_null()
else:
new_data[n] = data[n]
self._data[data['id']].update(new_data)
@ -1481,7 +1490,7 @@ class orm_template(object):
if context and context.get('active_id',False):
data_menu = self.pool.get('ir.ui.menu').browse(cr, user, context['active_id'], context).action
if data_menu:
act_id = int(data_menu.split(',')[1])
act_id = data_menu.id
if act_id:
data_action = self.pool.get('ir.actions.act_window').browse(cr, user, [act_id], context)[0]
result['submenu'] = getattr(data_action,'menus', False)