summaryrefslogtreecommitdiff
path: root/archaeological_operations/models.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2018-07-04 14:39:26 +0200
committerÉtienne Loks <etienne.loks@iggdrasil.net>2018-08-13 18:26:03 +0200
commitd3af6e3cce1a22853dd3cc9d25474af4718dc2eb (patch)
tree1d18a58f60f84b57c509e912a7ef52b63dafcab9 /archaeological_operations/models.py
parentb83bc8404f77600e8d313d9cdd6672d8208de01f (diff)
downloadIshtar-d3af6e3cce1a22853dd3cc9d25474af4718dc2eb.tar.bz2
Ishtar-d3af6e3cce1a22853dd3cc9d25474af4718dc2eb.zip
Parcel: add cached label field
Diffstat (limited to 'archaeological_operations/models.py')
-rw-r--r--archaeological_operations/models.py18
1 files changed, 10 insertions, 8 deletions
diff --git a/archaeological_operations/models.py b/archaeological_operations/models.py
index 2c51c262b..9565bf144 100644
--- a/archaeological_operations/models.py
+++ b/archaeological_operations/models.py
@@ -303,14 +303,7 @@ class Operation(ClosedItem, BaseHistorizedItem, OwnPerms, ValueGetter,
'end_after': 'excavation_end_date__gte',
'towns__numero_insee__startswith':
'towns__numero_insee__startswith',
- 'parcel_0': ('parcels__section',
- 'associated_file__parcels__section'),
- 'parcel_1': (
- 'parcels__parcel_number',
- 'associated_file__parcels__parcel_number'),
- 'parcel_2': (
- 'parcels__public_domain',
- 'associated_file__parcels__public_domain'),
+ 'parcel': 'parcels__cached_label__iexact',
'history_creator':
'history_creator__ishtaruser__person__pk',
'history_modifier':
@@ -1405,6 +1398,8 @@ class Parcel(LightHistorizedItem):
auto_external_id = models.BooleanField(
_(u"External ID is set automatically"), default=False)
address = models.TextField(_(u"Address - Locality"), null=True, blank=True)
+ cached_label = models.TextField(_(u"Cached name"), null=True, blank=True,
+ db_index=True)
class Meta:
verbose_name = _(u"Parcel")
@@ -1447,6 +1442,11 @@ class Parcel(LightHistorizedItem):
parcel.delete()
"""
+ def _generate_cached_label(self):
+ if self.public_domain:
+ return u"DP"
+ return u"{}{}".format(self.section or u"", self.parcel_number or u"")
+
@classmethod
def grouped_parcels(cls, parcels):
sortkeyfn = lambda s: (getattr(s, 'town_id'),
@@ -1553,6 +1553,8 @@ def parcel_post_save(sender, **kwargs):
parcel = kwargs['instance']
created = kwargs.get('created', None)
+ cached_label_changed(sender, **kwargs)
+
updated = False
# remove when the parcel is linked to nothing
if not getattr(parcel, '_updated_id', None) and not created \