summaryrefslogtreecommitdiff
path: root/archaeological_files
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2016-10-28 20:26:31 +0200
committerÉtienne Loks <etienne.loks@iggdrasil.net>2016-10-28 20:26:31 +0200
commit95c7286324b93564e1c996f18a4f1614a4ee6f1d (patch)
tree3652f3dcb6991a052ec6a1c9ec2e89f0038a5cd0 /archaeological_files
parent6f80a494ceac19d5db0650a591bf112b09ea2eba (diff)
downloadIshtar-95c7286324b93564e1c996f18a4f1614a4ee6f1d.tar.bz2
Ishtar-95c7286324b93564e1c996f18a4f1614a4ee6f1d.zip
Force regeneration of cached labels when add M2M or changing ids
Diffstat (limited to 'archaeological_files')
-rw-r--r--archaeological_files/models.py5
-rw-r--r--archaeological_files/tests.py14
2 files changed, 17 insertions, 2 deletions
diff --git a/archaeological_files/models.py b/archaeological_files/models.py
index 623eb1dee..1d8317b31 100644
--- a/archaeological_files/models.py
+++ b/archaeological_files/models.py
@@ -521,6 +521,7 @@ class File(ClosedItem, BaseHistorizedItem, OwnPerms, ValueGetter,
self.auto_external_id = True
self.external_id = external_id
if updated:
+ self._cached_label_checked = False
self.save()
return returned
@@ -536,9 +537,9 @@ post_save.connect(cached_label_changed, sender=File)
class FileByDepartment(models.Model):
- '''
+ """
Database view for dashboard
- '''
+ """
file = models.ForeignKey(File, verbose_name=_(u"File"))
department = models.ForeignKey(Department, verbose_name=_(u"Department"),
blank=True, null=True)
diff --git a/archaeological_files/tests.py b/archaeological_files/tests.py
index dfaa1fb09..4a09e1caa 100644
--- a/archaeological_files/tests.py
+++ b/archaeological_files/tests.py
@@ -86,6 +86,20 @@ class FileTest(TestCase, FileInit):
u"{}-{}".format(self.item.year,
self.item.numeric_reference))
+ def testCachedLabel(self):
+ lbls = ['No town', self.item.external_id,
+ self.item.internal_reference]
+ lbl = settings.JOINT.join(lbls)
+ self.assertEqual(self.item.cached_label, lbl)
+ default_town = Town.objects.create(name="Paris", numero_insee='75001')
+ self.item.towns.add(default_town)
+ # manually done inside wizards
+ self.item._cached_label_checked = False
+ self.item.save()
+ lbls[0] = "Paris"
+ lbl = settings.JOINT.join(lbls)
+ self.assertEqual(self.item.cached_label, lbl)
+
def testAddAndGetHistorized(self):
"""
Test correct new version and correct access to history