diff options
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) | \ |