Chirag Patel (OpenERP) has proposed merging 
lp:~openerp-dev/openobject-client-web/6.0-opw-17135-cpa into 
lp:openobject-client-web/6.0.

Requested reviews:
  OpenERP Core Team (openerp)

For more details, see:
https://code.launchpad.net/~openerp-dev/openobject-client-web/6.0-opw-17135-cpa/+merge/74348

Hello,

In filter selection field search based on key but it must be search on string.

Thanks
-- 
https://code.launchpad.net/~openerp-dev/openobject-client-web/6.0-opw-17135-cpa/+merge/74348
Your team OpenERP R&D Team is subscribed to branch 
lp:~openerp-dev/openobject-client-web/6.0-opw-17135-cpa.
=== modified file 'addons/openerp/controllers/search.py'
--- addons/openerp/controllers/search.py	2011-06-08 05:35:56 +0000
+++ addons/openerp/controllers/search.py	2011-09-07 06:21:24 +0000
@@ -359,6 +359,34 @@
             if selection_domain:
                 domain.extend(selection_domain)
 
+        for i,flt in enumerate(ncustom_domain):
+            if len(flt) > 1:
+
+                left_field = flt[0]
+                operator = flt[1]
+                right_val = flt[2]
+
+                if res[left_field]['type'] == 'selection' and right_val:
+
+                    if operator in ['ilike','=','in']:
+                        operator = 'in'
+                    else:
+                        operator = 'not in'
+
+                    keys = []
+                    if isinstance(right_val, list):
+                        for sel_val in res[left_field]['selection']:
+                            for rgt_val in right_val:
+                                if sel_val[1].lower().find(rgt_val.lower()) != -1 and sel_val[0] not in keys:
+                                    keys.append(sel_val[0])
+                    else:
+                        for sel_val in res[left_field]['selection']:
+                            if sel_val[1].lower().find(right_val.lower()) != -1:
+                                keys.append(sel_val[0])
+
+                    if keys:
+                        ncustom_domain[i] = (left_field, operator, keys)
+
         if not domain:
             domain = '[]'
         if not isinstance(group_by_ctx, list):

=== modified file 'addons/openerp/widgets/listgrid.py'
--- addons/openerp/widgets/listgrid.py	2011-03-29 15:51:28 +0000
+++ addons/openerp/widgets/listgrid.py	2011-09-07 06:21:24 +0000
@@ -142,7 +142,6 @@
                 self.colors[colour] = test
 
         proxy = rpc.RPCProxy(model)
-        
         default_data = kw.get('default_data', [])
         search_text = terp_params.get('_terp_search_text', False)
         if not self.source:

_______________________________________________
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