summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStephane Wirtel <stephane@tinyerp.com>2008-07-29 09:02:36 +0200
committerStephane Wirtel <stephane@tinyerp.com>2008-07-29 09:02:36 +0200
commit027cdcd40929477a7df3c42f526b1a2c3fb29b2f (patch)
tree9f563a80f60b00177e6909e303c07f9e29de9634
parentd36ecab011600fadc7b04d3cbc3628187a8f0803 (diff)
parentb9cd479442a2df3e83bf85b73cbc88a516fe1e2b (diff)
merge
bzr revid: stephane@tinyerp.com-20080729070236-hbgptlb7pe7hsksx
-rw-r--r--bin/addons/base/ir/ir.xml1
-rw-r--r--bin/addons/base/ir/ir_ui_view.py20
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()