diff --git a/addons/crm/base_partner_merge.py b/addons/crm/base_partner_merge.py index c07a32579f0..11cacc57ce6 100644 --- a/addons/crm/base_partner_merge.py +++ b/addons/crm/base_partner_merge.py @@ -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)