[FIX] crm: base_partner_merge, search with lowercase for name,email
authorDenis Ledoux <dle@odoo.com>
Thu, 31 Jul 2014 17:38:00 +0000 (19:38 +0200)
committerDenis Ledoux <dle@odoo.com>
Thu, 31 Jul 2014 17:38:00 +0000 (19:38 +0200)
and without spaces for vat

addons/crm/base_partner_merge.py

index c07a325..11cacc5 100644 (file)
@@ -378,11 +378,20 @@ class MergePartnerAutomatic(osv.TransientModel):
         return {'type': 'ir.actions.act_window_close'}
 
     def _generate_query(self, fields, maximum_group=100):
-        group_fields = ', '.join(fields)
+        sql_fields = []
+        for field in fields:
+            if field in ['email', 'name']:
+                sql_fields.append('lower(%s)' % field)
+            elif field in ['vat']:
+                sql_fields.append("replace(%s, ' ', '')" % field)
+            else:
+                sql_fields.append(field)
+
+        group_fields = ', '.join(sql_fields)
 
         filters = []
         for field in fields:
-            if field in ['email', 'name']:
+            if field in ['email', 'name', 'vat']:
                 filters.append((field, 'IS NOT', 'NULL'))
 
         criteria = ' AND '.join('%s %s %s' % (field, operator, value)