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