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 committed 2018-09-01 01:02:03 +02:00
1 parent 2f08240f94
commit c5e8969f0f
2 files changed
+4 -2

No files matched your search

+2 -1
View File
@@ -24,7 +24,8 @@ class TimesheetLine(metaclass=PoolMeta):
def copy(cls, records, default=None):
if default is None:
default = {}
default = default.copy()
else:
default = default.copy()
default.setdefault('invoice_line', None)
return super(TimesheetLine, cls).copy(records, default=default)
+2 -1
View File
@@ -93,7 +93,8 @@ class Work(metaclass=PoolMeta):
def copy(cls, records, default=None):
if default is None:
default = {}
default = default.copy()
else:
default = default.copy()
default.setdefault('invoice_line', None)
return super(Work, cls).copy(records, default=default)