summaryrefslogtreecommitdiff
path: root/archaeological_warehouse/models.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2020-10-01 04:24:56 +0200
committerÉtienne Loks <etienne.loks@iggdrasil.net>2021-02-28 12:15:20 +0100
commit3ffbf5d51476061e11a98013ec3073eed568ef95 (patch)
tree59b8db64b807e74fc1ba4f089df3c6cd3fd5f1ae /archaeological_warehouse/models.py
parentb99ac628eab47ee9b047999ed30d5dcb074e8a57 (diff)
downloadIshtar-3ffbf5d51476061e11a98013ec3073eed568ef95.tar.bz2
Ishtar-3ffbf5d51476061e11a98013ec3073eed568ef95.zip
Container: regenerate chil label on deletion
Diffstat (limited to 'archaeological_warehouse/models.py')
-rw-r--r--archaeological_warehouse/models.py19
1 files changed, 18 insertions, 1 deletions
diff --git a/archaeological_warehouse/models.py b/archaeological_warehouse/models.py
index b32d608af..ecf33bb87 100644
--- a/archaeological_warehouse/models.py
+++ b/archaeological_warehouse/models.py
@@ -27,7 +27,8 @@ from django.contrib.postgres.indexes import GinIndex
from django.core.exceptions import ObjectDoesNotExist
from django.core.urlresolvers import reverse
from django.db.models import Q, Max, Count
-from django.db.models.signals import post_save, post_delete, m2m_changed
+from django.db.models.signals import post_save, post_delete, m2m_changed, \
+ pre_delete
from django.template.defaultfilters import slugify
from ishtar_common.utils import ugettext_lazy as _, pgettext_lazy
@@ -1368,7 +1369,23 @@ def container_post_save(sender, **kwargs):
loca.save()
+def container_pre_delete(sender, **kwargs):
+ instance = kwargs["instance"]
+ q = Container.objects.filter(
+ container_tree_child__container_parent=instance)
+ q.update(cached_division="")
+
+
+def container_post_delete(sender, **kwargs):
+ instance = kwargs["instance"]
+ q = Container.objects.filter(cached_division="", location=instance.location)
+ for c in q.all():
+ c.save()
+
+
post_save.connect(container_post_save, sender=Container)
+pre_delete.connect(container_pre_delete, sender=Container)
+post_delete.connect(container_post_delete, sender=Container)
m2m_changed.connect(document_attached_changed,
sender=Container.documents.through)