From 66f03e7543488802bdc1392114b85caa32f6efc5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Fri, 9 May 2014 23:17:07 +0200 Subject: [PATCH] Use MatchMixin issue3867 review5271002 --- price_list.py | 31 +++++-------------------------- 1 file changed, 5 insertions(+), 26 deletions(-) diff --git a/price_list.py b/price_list.py index 0453ef1904..204de061eb 100644 --- a/price_list.py +++ b/price_list.py @@ -191,32 +191,11 @@ class PriceListLine(ModelSQL, ModelView): }) def match(self, pattern): - ''' - Match line on pattern - - :param pattern: a dictonary with price list line field as key - and match value as value - :return: a boolean - ''' - res = True - for field in pattern.keys(): - if field not in self._fields: - continue - if getattr(self, field) is None: - continue - if self._fields[field]._type == 'many2one': - if getattr(self, field).id != pattern[field]: - res = False - break - elif field == 'quantity': - if getattr(self, field) > pattern[field]: - res = False - break - else: - if getattr(self, field) != pattern[field]: - res = False - break - return res + if 'quantity' in pattern: + pattern = pattern.copy() + if self.quantity > pattern.pop('quantity'): + return False + return super(PriceListLine, self).match(pattern) def get_unit_price(self): '''