← Back to team overview

openerp-dev-web team mailing list archive

[Merge] lp:~openerp-dev/openobject-client/trunk-bug-776961-aar into lp:openobject-client

 

Amit Parmar (OpenERP) has proposed merging lp:~openerp-dev/openobject-client/trunk-bug-776961-aar into lp:openobject-client.

Requested reviews:
  Naresh(OpenERP) (nch-openerp)
Related bugs:
  Bug #776961 in OpenERP GTK Client: "dashboard:view_id provided in ir.actions.act_window.view is not taken into consideration."
  https://bugs.launchpad.net/openobject-client/+bug/776961

For more details, see:
https://code.launchpad.net/~openerp-dev/openobject-client/trunk-bug-776961-aar/+merge/61929
-- 
https://code.launchpad.net/~openerp-dev/openobject-client/trunk-bug-776961-aar/+merge/61929
Your team OpenERP R&D Team is subscribed to branch lp:~openerp-dev/openobject-client/trunk-bug-776961-aar.
=== modified file 'bin/modules/gui/window/win_search.py'
--- bin/modules/gui/window/win_search.py	2011-02-14 12:04:15 +0000
+++ bin/modules/gui/window/win_search.py	2011-05-23 08:29:24 +0000
@@ -107,7 +107,7 @@
 
 
 class win_search(object):
-    def __init__(self, model, sel_multi=True, ids=[], context={}, domain = [], parent=None):
+    def __init__(self, model, sel_multi=True, ids=[], view_ids=[],context={}, domain = [], parent=None):
         self.model = model
         self.sel_multi = sel_multi
         self.ids = ids
@@ -118,7 +118,7 @@
             parent = service.LocalService('gui.main').window
         self.parent = parent
         self.win.set_transient_for(parent)
-        self.screen = Screen(model, view_type=['tree'], show_search=True, domain=domain,
+        self.screen = Screen(model, view_ids,view_type=['tree'], show_search=True, domain=domain,
                              context=context, parent=self.win, win_search=True)
         self.view = self.screen.current_view
         if self.screen.filter_widget.focusable:

=== modified file 'bin/widget/view/form_gtk/action.py'
--- bin/widget/view/form_gtk/action.py	2011-05-06 10:52:28 +0000
+++ bin/widget/view/form_gtk/action.py	2011-05-23 08:29:24 +0000
@@ -41,11 +41,14 @@
         interface.widget_interface.__init__(self, window, parent, model, attrs)
 
         self.act_id = int(attrs['name'])
-        res = rpc.session.rpc_exec_auth('/object', 'execute', 'ir.actions.actions', 'read', [self.act_id], ['type'], rpc.session.context)
-        if not res:
+        self.res = rpc.session.rpc_exec_auth('/object', 'execute', 'ir.actions.actions', 'read', [self.act_id], ['type'], rpc.session.context)
+        if not self.res:
             raise Exception, 'ActionNotFound'
-        type = res[0]['type']
+        type = self.res[0]['type']
+        self.attrs = attrs
         self.action = rpc.session.rpc_exec_auth('/object', 'execute', type, 'read', [self.act_id], False, rpc.session.context)[0]
+        
+        
         if 'view_mode' in attrs:
             self.action['view_mode'] = attrs['view_mode']
 
@@ -81,7 +84,18 @@
         self.screen.switch_view()
 
     def _sig_search(self, *args):
-        win = win_search(self.action['res_model'], domain=self.domain, context=self.context)
+        for views in self.action['views']:
+            if views[1] == 'tree' and views[0] != False:
+                
+                self.act_view = rpc.session.rpc_exec_auth('/object', 'execute', 'ir.actions.act_window.view', 'search', [('act_window_id','=',self.res[0]['id']),('view_mode','=','tree')])
+                
+                self.act_view_id = rpc.session.rpc_exec_auth('/object', 'execute', 'ir.actions.act_window.view', 'read', self.act_view,['view_id'],rpc.session.context)
+               
+                self.act_view_tree = rpc.session.rpc_exec_auth('/object', 'execute', 'ir.ui.view', 'search', [('name','=',self.act_view_id[0]['view_id'][1])])
+              
+            else:
+                self.act_view_tree = []
+        win = win_search(self.action['res_model'], view_ids = self.act_view_tree,domain=self.domain,context=self.context)
         res = win.go()
         if res:
             self.screen.clear()


Follow ups