summaryrefslogtreecommitdiff
path: root/ishtar_common/serializers.py
diff options
context:
space:
mode:
Diffstat (limited to 'ishtar_common/serializers.py')
-rw-r--r--ishtar_common/serializers.py14
1 files changed, 10 insertions, 4 deletions
diff --git a/ishtar_common/serializers.py b/ishtar_common/serializers.py
index 6ff0ae9bb..aaf7baa08 100644
--- a/ishtar_common/serializers.py
+++ b/ishtar_common/serializers.py
@@ -330,7 +330,7 @@ def restore_serialized(archive_name, user=None, delete_existing=False):
idx = -1
for idx, obj in enumerate(deserialize("json", data)):
extra_attrs = {}
- if historized and not user:
+ if historized:
keys = obj.object.natural_key()
old_obj = None
try:
@@ -351,11 +351,17 @@ def restore_serialized(archive_name, user=None, delete_existing=False):
obj = model.objects.get(id=obj.object.id)
if user:
obj.history_modifier = user
- else:
+ if extra_attrs and \
+ "history_creator_id" in extra_attrs:
+ obj.history_creator_id = extra_attrs[
+ "history_creator_id"]
+ else:
+ obj.history_creator = user
+ elif extra_attrs:
+ for k in extra_attrs:
+ setattr(obj, k, extra_attrs[k])
obj.skip_history_when_saving = True
obj._no_move = True
- for k in extra_attrs:
- setattr(obj, k, extra_attrs[k])
obj.save()
if idx >= 0:
result.append((model.__name__, idx + 1))