diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2019-04-05 15:45:26 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2019-04-05 15:45:26 +0200 |
commit | d9f08efb2e5cd65e50bcb10c2863a4e445f17e2c (patch) | |
tree | 3ef5273826560c4082dc2e40fddc14810137b5f8 /ishtar_common | |
parent | d38203a78cf15f4cee9c674fe9c73b1aee6f8ece (diff) | |
download | Ishtar-d9f08efb2e5cd65e50bcb10c2863a4e445f17e2c.tar.bz2 Ishtar-d9f08efb2e5cd65e50bcb10c2863a4e445f17e2c.zip |
Merge: generic function for main items - adpat for containers
Diffstat (limited to 'ishtar_common')
-rw-r--r-- | ishtar_common/model_merging.py | 3 | ||||
-rw-r--r-- | ishtar_common/models.py | 3 |
2 files changed, 5 insertions, 1 deletions
diff --git a/ishtar_common/model_merging.py b/ishtar_common/model_merging.py index c8e2bc6bf..188ec42dd 100644 --- a/ishtar_common/model_merging.py +++ b/ishtar_common/model_merging.py @@ -20,7 +20,7 @@ def get_models(): @transaction.atomic -def merge_model_objects(primary_object, alias_objects=[], keep_old=False): +def merge_model_objects(primary_object, alias_objects, keep_old=False): """ Use this function to merge model objects (i.e. Users, Organizations, etc.) and migrate all of the related fields from the alias objects to the @@ -154,5 +154,6 @@ def merge_model_objects(primary_object, alias_objects=[], keep_old=False): if not keep_old: alias_object.delete() + primary_object.skip_history_when_saving = True primary_object.save() return primary_object diff --git a/ishtar_common/models.py b/ishtar_common/models.py index f49bd9560..6a4a0930e 100644 --- a/ishtar_common/models.py +++ b/ishtar_common/models.py @@ -1636,6 +1636,9 @@ class BaseHistorizedItem(DocumentItem, FullSearch, Imported, JsonData, def get_verbose_name(cls): return cls._meta.verbose_name + def merge(self, item, keep_old=False): + merge_model_objects(self, item, keep_old=keep_old) + def update_external_id(self, save=False): if not self.EXTERNAL_ID_KEY or ( self.external_id and |