Allow to customize pattern per extra and line
issue4843 review12241002
This commit is contained in:
1 parent
587eb9b5f7
commit
01fe803505
1 file changed
+12
-2
@@ -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')
|
||||
|
||||
Reference in new issue
Block a user