summaryrefslogtreecommitdiff
path: root/archaeological_files/models.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2019-01-16 18:39:40 +0100
committerÉtienne Loks <etienne.loks@iggdrasil.net>2019-01-16 18:39:40 +0100
commitf250dc4ee10f722876c09246c8acc3f5ff213ee4 (patch)
treeef9d04439f9c1f3cea79d3f7f0c358254c1b9434 /archaeological_files/models.py
parenta1b33517eb061561a34646064b9accf96bc42a20 (diff)
downloadIshtar-f250dc4ee10f722876c09246c8acc3f5ff213ee4.tar.bz2
Ishtar-f250dc4ee10f722876c09246c8acc3f5ff213ee4.zip
Prevent recursion on M2M save of archaeological files
Diffstat (limited to 'archaeological_files/models.py')
-rw-r--r--archaeological_files/models.py4
1 files changed, 3 insertions, 1 deletions
diff --git a/archaeological_files/models.py b/archaeological_files/models.py
index 16f3e4de9..575ec2aef 100644
--- a/archaeological_files/models.py
+++ b/archaeological_files/models.py
@@ -668,7 +668,9 @@ class File(ClosedItem, BaseHistorizedItem, OwnPerms, ValueGetter,
def save(self, *args, **kwargs):
returned = super(File, self).save(*args, **kwargs)
- if self.main_town and self.main_town not in list(self.towns.all()):
+ if not getattr(self, '_no_new_add', None) and self.main_town and \
+ self.main_town not in list(self.towns.all()):
+ self._no_new_add = True
self.towns.add(self.main_town)
updated = self.update_raw_town_planning_service()
updated += self.update_planning_service()