From 01fe803505c467bc7c07ea1d3e720bf3c12989d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 1 Jul 2015 19:37:56 +0200 Subject: [PATCH] Allow to customize pattern per extra and line issue4843 review12241002 --- sale.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/sale.py b/sale.py index e8e5b2fdbb..80a84ae1cd 100644 --- a/sale.py +++ b/sale.py @@ -178,12 +178,19 @@ class SaleExtra(ModelSQL, ModelView, MatchMixin): sale.untaxed_amount, sale.company.currency) for extra in extras: - if extra.match(pattern): + epattern = pattern.copy() + epattern.update(extra.get_pattern(sale)) + if extra.match(epattern): for line in extra.lines: - if line.match(pattern): + lpattern = epattern.copy() + lpattern.update(line.get_pattern(sale)) + if line.match(lpattern): yield line.get_line(sale) break + def get_pattern(self, sale): + return {} + def match(self, pattern): pattern = pattern.copy() sale_amount = pattern.pop('sale_amount') @@ -248,6 +255,9 @@ class SaleExtraLine(ModelSQL, ModelView, MatchMixin): def default_free(): return False + def get_pattern(self, sale): + return {} + def match(self, pattern): pattern = pattern.copy() sale_amount = pattern.pop('sale_amount')