Fix copy methods to not copy template
This commit is contained in:
1 parent
ddda74a477
commit
18fb4ef92b
2 files changed
+38
No files matched your search
@@ -824,6 +824,8 @@ class Account(ModelSQL, ModelView):
|
||||
def copy(cls, accounts, default=None):
|
||||
if default is None:
|
||||
default = {}
|
||||
else:
|
||||
default = default.copy()
|
||||
default.setdefault('template')
|
||||
default.setdefault('deferrals', [])
|
||||
new_accounts = super(Account, cls).copy(accounts, default=default)
|
||||
|
||||
@@ -231,6 +231,15 @@ class TaxCode(ModelSQL, ModelView):
|
||||
(cls._rec_name,) + tuple(clause[1:]),
|
||||
]
|
||||
|
||||
@classmethod
|
||||
def copy(cls, codes, default=None):
|
||||
if default is None:
|
||||
default = {}
|
||||
else:
|
||||
default = default.copy()
|
||||
default.setdefault('template')
|
||||
return super(TaxCode, cls).copy(codes, default=default)
|
||||
|
||||
@classmethod
|
||||
def delete(cls, codes):
|
||||
codes = cls.search([
|
||||
@@ -769,6 +778,15 @@ class Tax(ModelSQL, ModelView):
|
||||
return self.company.currency.digits
|
||||
return 2
|
||||
|
||||
@classmethod
|
||||
def copy(cls, taxes, default=None):
|
||||
if default is None:
|
||||
default = {}
|
||||
else:
|
||||
default = default.copy()
|
||||
default.setdefault('template')
|
||||
return super(Tax, cls).copy(taxes, default=default)
|
||||
|
||||
def _process_tax(self, price_unit):
|
||||
if self.type == 'percentage':
|
||||
amount = price_unit * self.rate
|
||||
@@ -1218,6 +1236,15 @@ class TaxRule(ModelSQL, ModelView):
|
||||
def default_company():
|
||||
return Transaction().context.get('company')
|
||||
|
||||
@classmethod
|
||||
def copy(cls, rules, default=None):
|
||||
if default is None:
|
||||
default = {}
|
||||
else:
|
||||
default = default.copy()
|
||||
default.setdefault('template')
|
||||
return super(TaxRule, cls).copy(rules, default=default)
|
||||
|
||||
def apply(self, tax, pattern):
|
||||
'''
|
||||
Apply rule on tax
|
||||
@@ -1451,6 +1478,15 @@ class TaxRuleLine(ModelSQL, ModelView, MatchMixin):
|
||||
table, _ = tables[None]
|
||||
return [Case((table.sequence == Null, 0), else_=1), table.sequence]
|
||||
|
||||
@classmethod
|
||||
def copy(cls, lines, default=None):
|
||||
if default is None:
|
||||
default = {}
|
||||
else:
|
||||
default = default.copy()
|
||||
default.setdefault('template')
|
||||
return super(TaxRuleLine, cls).copy(lines, default=default)
|
||||
|
||||
def match(self, pattern):
|
||||
if 'group' in pattern and not self.group:
|
||||
if pattern['group']:
|
||||
|
||||
Reference in new issue
Block a user