diff options
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 |
commit | 34a462b58fa629af474bada00a5eba366a07ca59 (patch) | |
tree | 01b5c73a9810b80b8841b33f046adc21495e77ab /ishtar_common/data_importer.py | |
parent | 42394cad02baef8a802e6511aec3c8bc8bc597e6 (diff) | |
download | Ishtar-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.py | 25 |
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() |