Allow to customize pattern per extra and line

issue4843
review12241002
This commit is contained in:
Cédric Krier committed 2015-07-01 19:37:56 +02:00
1 parent 587eb9b5f7
commit 01fe803505
1 file changed
+12 -2
+12 -2
View File
@@ -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')