diff options
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 |
commit | 3ffbf5d51476061e11a98013ec3073eed568ef95 (patch) | |
tree | 59b8db64b807e74fc1ba4f089df3c6cd3fd5f1ae /archaeological_warehouse/models.py | |
parent | b99ac628eab47ee9b047999ed30d5dcb074e8a57 (diff) | |
download | Ishtar-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.py | 19 |
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) |