Yogesh(Open ERP) has proposed merging 
lp:~openerp-dev/openobject-client/trunk-bug-725696-ysa into 
lp:openobject-client.

Requested reviews:
  Naresh(OpenERP) (nch-openerp)
Related bugs:
  Bug #725696 in OpenERP GTK Client: "'tree_view_ref' on context can't render 
correct view in gtk client"
  https://bugs.launchpad.net/openobject-client/+bug/725696

For more details, see:
https://code.launchpad.net/~openerp-dev/openobject-client/trunk-bug-725696-ysa/+merge/63077

Improve context in O2M field.
-- 
https://code.launchpad.net/~openerp-dev/openobject-client/trunk-bug-725696-ysa/+merge/63077
Your team OpenERP R&D Team is subscribed to branch 
lp:~openerp-dev/openobject-client/trunk-bug-725696-ysa.
=== modified file 'bin/widget/view/form_gtk/one2many_list.py'
--- bin/widget/view/form_gtk/one2many_list.py	2011-05-20 10:45:51 +0000
+++ bin/widget/view/form_gtk/one2many_list.py	2011-06-01 07:20:12 +0000
@@ -33,8 +33,6 @@
 from pager import pager
 import service
 import tools
-import rpc
-
 
 class dialog(object):
     def __init__(self, model_name, parent, model=None, attrs=None, model_ctx=None,
@@ -178,16 +176,15 @@
         # 'default_get' attribute for the same effect (pending removal)
         default_get_ctx = (attrs.get('default_get') or attrs.get('context'))
 
-        fields = rpc.session.rpc_exec_auth('/object', 'execute', model, 'fields_get', False, self.context)
-        res = rpc.session.rpc_exec_auth_try('/object', 'execute', model, 'default_get', fields)
-        self.context = tools.expr_eval("dict(%s)" % attrs.get('context',"{}"), res)
+        self.context = tools.expr_eval(attrs.get('context',"{}"), {"__builtins__":None})
         self.screen = Screen(attrs['relation'],
                             view_type=attrs.get('mode','tree,form').split(','),
                             parent=self.parent, views_preload=attrs.get('views', {}),
                             tree_saves=attrs.get('saves', False),
                             create_new=True,
                             row_activate=self._on_activate,
-                            default_get=default_get_ctx, context= self.context,
+                            default_get=default_get_ctx,
+                            context = self.context,
                             window=self._window, readonly=self._readonly, limit=pager.DEFAULT_LIMIT)
 
         self.screen.type = 'one2many'
@@ -391,6 +388,9 @@
         pass
 
     def display(self, model, model_field):
+        if model:
+            self.context.update(model.expr_eval(self.attrs.get('context',"{}")))
+            self.screen.context.update(self.context)
         self.model = model
         self.model_field = model_field
         if not model_field:

_______________________________________________
Mailing list: https://launchpad.net/~openerp-dev-gtk
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~openerp-dev-gtk
More help   : https://help.launchpad.net/ListHelp

Reply via email to