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 | cb81ce310c580dfdb804e39b4b145296737d22b4 (patch) | |
tree | 3ef5273826560c4082dc2e40fddc14810137b5f8 /archaeological_warehouse/models.py | |
parent | dff0db2127ba254ed06edf8799f08bbe6048e317 (diff) | |
download | Ishtar-cb81ce310c580dfdb804e39b4b145296737d22b4.tar.bz2 Ishtar-cb81ce310c580dfdb804e39b4b145296737d22b4.zip |
Merge: generic function for main items - adpat for containers
Diffstat (limited to 'archaeological_warehouse/models.py')
-rw-r--r-- | archaeological_warehouse/models.py | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/archaeological_warehouse/models.py b/archaeological_warehouse/models.py index ae1ef5e47..c80b4476b 100644 --- a/archaeological_warehouse/models.py +++ b/archaeological_warehouse/models.py @@ -536,6 +536,19 @@ class Container(LightHistorizedItem, OwnPerms): def _get_base_image_path(self): return self.responsible._get_base_image_path() + u"/" + self.external_id + def merge(self, item, keep_old=False): + locas = [ + cl.division.division.txt_idx + for cl in ContainerLocalisation.objects.filter(container=self).all() + ] + for loca in ContainerLocalisation.objects.filter(container=item).all(): + if loca.division.division.txt_idx not in locas: + loca.container = self + loca.save() + else: + loca.delete() + super(Container, self).merge(item, keep_old=keep_old) + @classmethod def get_query_owns(cls, ishtaruser): return Q(history_creator=ishtaruser.user_ptr) | \ |