summaryrefslogtreecommitdiff
path: root/archaeological_warehouse/models.py
diff options
context:
space:
mode:
Diffstat (limited to 'archaeological_warehouse/models.py')
-rw-r--r--archaeological_warehouse/models.py21
1 files changed, 19 insertions, 2 deletions
diff --git a/archaeological_warehouse/models.py b/archaeological_warehouse/models.py
index 64a766cea..89c208df8 100644
--- a/archaeological_warehouse/models.py
+++ b/archaeological_warehouse/models.py
@@ -20,7 +20,6 @@
import datetime
import uuid
-from django.conf import settings
from django.contrib.gis.db import models
from django.contrib.postgres.indexes import GinIndex
from django.core.urlresolvers import reverse
@@ -909,7 +908,25 @@ class Container(DocumentItem, LightHistorizedItem, QRCodeItem, GeoItem,
loca.delete()
-post_save.connect(cached_label_and_geo_changed, sender=Container)
+def container_post_save(sender, **kwargs):
+ cached_label_and_geo_changed(sender=sender, **kwargs)
+ if not kwargs.get('instance'):
+ return
+ instance = kwargs.get('instance')
+ for loca in ContainerLocalisation.objects.filter(
+ container=instance).exclude(
+ division__warehouse=instance.location).all():
+ q = WarehouseDivisionLink.objects.filter(
+ warehouse=instance.location,
+ division=loca.division.division
+ )
+ if not q.count():
+ continue
+ loca.division = q.all()[0]
+ loca.save()
+
+
+post_save.connect(container_post_save, sender=Container)
m2m_changed.connect(document_attached_changed,
sender=Container.documents.through)