diff options
| author | Étienne Loks <etienne.loks@iggdrasil.net> | 2023-01-27 17:31:00 +0100 | 
|---|---|---|
| committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2023-01-27 17:31:00 +0100 | 
| commit | dc1d0da3544d2ec9adb4c792c357fe06eaf752a7 (patch) | |
| tree | dc2627a86507fe03bf42b21bcc5fe21183573cf4 /archaeological_operations/models.py | |
| parent | e448e19f9a472f8bb9ce41b085d175e91e0b873b (diff) | |
| download | Ishtar-dc1d0da3544d2ec9adb4c792c357fe06eaf752a7.tar.bz2 Ishtar-dc1d0da3544d2ec9adb4c792c357fe06eaf752a7.zip  | |
Add custom cached_label configuration for each main item
Diffstat (limited to 'archaeological_operations/models.py')
| -rw-r--r-- | archaeological_operations/models.py | 28 | 
1 files changed, 11 insertions, 17 deletions
diff --git a/archaeological_operations/models.py b/archaeological_operations/models.py index 191918237..d5110df9c 100644 --- a/archaeological_operations/models.py +++ b/archaeological_operations/models.py @@ -36,7 +36,7 @@ from django.db.models import Q, Count, Sum, Max, Avg  from django.db.models.signals import post_save, m2m_changed, post_delete  from django.forms import ValidationError  from django.urls import reverse -from ishtar_common.utils import ugettext_lazy as _, pgettext_lazy +from ishtar_common.utils import ugettext_lazy as _, pgettext_lazy, get_generated_id  from ishtar_common.models import (      Area, @@ -532,13 +532,6 @@ class ArchaeologicalSite(          blank=True,          null=True,      ) -    cached_label = models.TextField( -        _("Cached name"), -        blank=True, -        default="", -        db_index=True, -        help_text=_("Generated automatically - do not edit"), -    )      cached_towns_label = models.TextField(          _("Cached town label"),          blank=True, @@ -574,7 +567,7 @@ class ArchaeologicalSite(          ]      def __str__(self): -        return self.cached_label or self._generate_cached_label() or "" +        return self.cached_label or ""      @property      def short_class_name(self): @@ -707,6 +700,9 @@ class ArchaeologicalSite(          return cls._return_get_owns(owns, values, get_short_menu_class)      def _generate_cached_label(self): +        label = self._profile_generate_cached_label() +        if label: +            return label          name = self.reference          if self.name:              name += " %s %s" % (settings.JOINT, self.name) @@ -1424,14 +1420,6 @@ class Operation(          blank=True,          null=True,      ) -    cached_label = models.CharField( -        _("Cached name"), -        max_length=500, -        help_text=_("Generated automatically - do not edit"), -        null=True, -        blank=True, -        db_index=True, -    )      archaeological_sites = models.ManyToManyField(          ArchaeologicalSite,          verbose_name=_("Archaeological sites"), @@ -1724,6 +1712,9 @@ class Operation(          #     return None      def _generate_cached_label(self): +        label = self._profile_generate_cached_label() +        if label: +            return label          items = [self.get_town_label(), self.get_reference(full=True)]          if self.common_name:              items.append(self.common_name) @@ -3090,6 +3081,9 @@ class Parcel(LightHistorizedItem):      """      def _generate_cached_label(self): +        label = get_generated_id("parcel_cached_label", self) +        if label: +            return label          if self.public_domain:              return "DP"          return "{}{}".format(self.section or "", self.parcel_number or "")  | 
