summaryrefslogtreecommitdiff
path: root/ishtar_common/data_importer.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2018-03-23 13:57:12 +0100
committerÉtienne Loks <etienne.loks@iggdrasil.net>2018-03-27 17:53:27 +0200
commit34a462b58fa629af474bada00a5eba366a07ca59 (patch)
tree01b5c73a9810b80b8841b33f046adc21495e77ab /ishtar_common/data_importer.py
parent42394cad02baef8a802e6511aec3c8bc8bc597e6 (diff)
downloadIshtar-34a462b58fa629af474bada00a5eba366a07ca59.tar.bz2
Ishtar-34a462b58fa629af474bada00a5eba366a07ca59.zip
Step by step: large improvments on step display (refs #3975)
Show modified, sheet access for existing items, link between created, updated fields and associated column.
Diffstat (limited to 'ishtar_common/data_importer.py')
-rw-r--r--ishtar_common/data_importer.py25
1 files changed, 19 insertions, 6 deletions
diff --git a/ishtar_common/data_importer.py b/ishtar_common/data_importer.py
index 4519241af..3bcd62415 100644
--- a/ishtar_common/data_importer.py
+++ b/ishtar_common/data_importer.py
@@ -1632,7 +1632,10 @@ class Importer(object):
for k in create_dict.keys():
# filter unnecessary default values but not the json field
if type(create_dict[k]) == dict and k != 'data':
- create_dict.pop(k)
+ if self.simulate:
+ create_dict[k] = _(u"* created *")
+ else:
+ create_dict.pop(k)
# File doesn't like deepcopy
elif type(create_dict[k]) == File:
create_dict[k] = copy.copy(data[k])
@@ -1776,16 +1779,26 @@ class Importer(object):
# force post save script
v.save()
if self.simulate:
+ # put m2m result in data dict
+ current_data = data
+ if m2ms:
+ for item in path:
+ if item not in current_data:
+ current_data[item] = {}
+ current_data = current_data[item]
+ for key, value in m2ms:
+ if not isinstance(value, list) and \
+ not isinstance(value, tuple):
+ value = [value]
+ current_data[key] = value
+
if created:
- for k in dct.keys():
- # do not present empty value
- if dct[k] in (None, ''):
- dct.pop(k)
- return _(u"* created item *"), True
+ return dct, True
else:
# defaults are not presented as matching data
dct.pop('defaults')
return self.updated_objects[-1][1], False
+
if m2ms:
# force post save script
obj.save()