From 75e8c3694c62c289aa2a94d3ad3a8aaf501244c9 Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Mon, 6 Jan 2020 12:54:39 +0100 Subject: Warehouse: on location change if division exists in the new warehouse container division are copied --- archaeological_warehouse/models.py | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) (limited to 'archaeological_warehouse/models.py') 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) -- cgit v1.2.3