diff options
Diffstat (limited to 'archaeological_operations/models.py')
-rw-r--r-- | archaeological_operations/models.py | 18 |
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 \ |