diff options
| author | mga@tinyerp.com <> | 2008-07-29 12:19:37 +0530 |
|---|---|---|
| committer | mga@tinyerp.com <> | 2008-07-29 12:19:37 +0530 |
| commit | b9cd479442a2df3e83bf85b73cbc88a516fe1e2b (patch) | |
| tree | e4681c41f1ff38d76a1f4b9e8b3917a9a2f9d866 | |
| parent | 9f65174f2021edfb0edb9b0ede445d4d62e018c9 (diff) | |
ir.xml : add context to the ir.ui.view model view
ir_ui_view.py : bug fox for the read method
bzr revid: mga@tinyerp.com-20080729064937-grly3o5lmjnhbamj
| -rw-r--r-- | bin/addons/base/ir/ir.xml | 1 | ||||
| -rw-r--r-- | bin/addons/base/ir/ir_ui_view.py | 20 |
2 files changed, 20 insertions, 1 deletions
diff --git a/bin/addons/base/ir/ir.xml b/bin/addons/base/ir/ir.xml index acef66476f1..556c2ff4f0d 100644 --- a/bin/addons/base/ir/ir.xml +++ b/bin/addons/base/ir/ir.xml @@ -46,6 +46,7 @@ <field name="res_model">ir.values</field> <field name="view_type">form</field> <field name="view_id" ref="values_view_tree"/> + <field name="context">{'read':'default'}</field> </record> <menuitem id="next_id_4" name="Low Level" parent="menu_custom"/> diff --git a/bin/addons/base/ir/ir_ui_view.py b/bin/addons/base/ir/ir_ui_view.py index 0d4110df380..ee610bcb67b 100644 --- a/bin/addons/base/ir/ir_ui_view.py +++ b/bin/addons/base/ir/ir_ui_view.py @@ -73,6 +73,23 @@ class view(osv.osv): (_check_xml, 'Invalid XML for View Architecture!', ['arch']) ] + def read(self,cr, uid, ids, fields=None, context={}, load='_classic_read'): + + if type(ids) != type([]): + ids = [ids] + + result = super(view, self).read(cr, uid, ids, fields, context, load) + + if context.get('read', False) != 'default': + for rs in result: + if rs.get('model',False) == 'board.board': + cr.execute("select id,arch,ref_id from ir_ui_view where user_id=%d and ref_id=%d", (uid, rs['id'])) + oview = cr.dictfetchall() + if oview: + rs['arch'] = oview[0]['arch'] + + return result + def write(self, cr, uid, ids, vals, context={}): exist = self.pool.get('ir.ui.view').browse(cr, uid, ids[0]) if exist.model == 'board.board': @@ -87,13 +104,14 @@ class view(osv.osv): default['user_id'] = uid default['ref_id'] = ids[0] nids = super(view, self).copy(cr, uid, ids[0], default, context=context) - result = super(view, self).write(cr, uid, [nids], vals, context) + result = super(view, self).write(cr, uid, [nids], vals, {}) return result else: result = super(view, self).write(cr, uid, vids, vals, context) return result result = super(view, self).write(cr, uid, ids, vals, context) + cr.commit() return result view() |
