[IMP] remove redundancy in ir_values.set
authorXavier Morel <xmo@openerp.com>
Tue, 9 Nov 2010 13:21:37 +0000 (14:21 +0100)
committerXavier Morel <xmo@openerp.com>
Tue, 9 Nov 2010 13:21:37 +0000 (14:21 +0100)
bzr revid: xmo@openerp.com-20101109132137-nmkg6uc5sdqovu1o

bin/addons/base/ir/ir_values.py

index 7c51955..21ee1a6 100644 (file)
@@ -114,25 +114,19 @@ class ir_values(osv.osv):
             else:
                 res_id=False
             if replace:
+                search_criteria = [
+                    ('key', '=', key),
+                    ('key2', '=', key2),
+                    ('model', '=', model),
+                    ('res_id', '=', res_id),
+                    ('user_id', '=', preserve_user and uid)
+                ]
                 if key in ('meta', 'default'):
-                    ids = self.search(cr, uid, [
-                        ('key', '=', key),
-                        ('key2', '=', key2),
-                        ('name', '=', name),
-                        ('model', '=', model),
-                        ('res_id', '=', res_id),
-                        ('user_id', '=', preserve_user and uid)
-                        ])
+                    search_criteria.append(('name', '=', name))
                 else:
-                    ids = self.search(cr, uid, [
-                        ('key', '=', key),
-                        ('key2', '=', key2),
-                        ('value', '=', value),
-                        ('model', '=', model),
-                        ('res_id', '=', res_id),
-                        ('user_id', '=', preserve_user and uid)
-                        ])
-                self.unlink(cr, uid, ids)
+                    search_criteria.append(('value', '=', value))
+
+                self.unlink(cr, uid, self.search(cr, uid, search_criteria))
             vals = {
                 'name': name,
                 'value': value,