Improve ModelStorage.copy

* Allow callable in copy default
* Support dotted notation in copy default
* Use setdefault in copy
* Copy default when needed
* Do not set default state in copy
* Use callable and dotted notation in copy default

issue5576
issue7648
review72291002
This commit is contained in:
Cédric Krier
2018-09-01 01:02:03 +02:00
parent f2e1bc2de6
commit 5a7ebf508a
2 changed files with 4 additions and 0 deletions
+2
View File
@@ -313,6 +313,8 @@ class Commission(ModelSQL, ModelView):
def copy(cls, commissions, default=None):
if default is None:
default = {}
else:
default = default.copy()
default.setdefault('invoice_line', None)
return super(Commission, cls).copy(commissions, default=default)
+2
View File
@@ -196,6 +196,8 @@ class InvoiceLine(metaclass=PoolMeta):
def copy(cls, lines, default=None):
if default is None:
default = {}
else:
default = default.copy()
default.setdefault('commissions', None)
default.setdefault('from_commissions', None)
return super(InvoiceLine, cls).copy(lines, default=default)