summaryrefslogtreecommitdiff
path: root/archaeological_operations
diff options
context:
space:
mode:
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
commitdc1d0da3544d2ec9adb4c792c357fe06eaf752a7 (patch)
treedc2627a86507fe03bf42b21bcc5fe21183573cf4 /archaeological_operations
parente448e19f9a472f8bb9ce41b085d175e91e0b873b (diff)
downloadIshtar-dc1d0da3544d2ec9adb4c792c357fe06eaf752a7.tar.bz2
Ishtar-dc1d0da3544d2ec9adb4c792c357fe06eaf752a7.zip
Add custom cached_label configuration for each main item
Diffstat (limited to 'archaeological_operations')
-rw-r--r--archaeological_operations/migrations/0111_auto_20230127_1503.py54
-rw-r--r--archaeological_operations/models.py28
2 files changed, 65 insertions, 17 deletions
diff --git a/archaeological_operations/migrations/0111_auto_20230127_1503.py b/archaeological_operations/migrations/0111_auto_20230127_1503.py
new file mode 100644
index 000000000..075422d9f
--- /dev/null
+++ b/archaeological_operations/migrations/0111_auto_20230127_1503.py
@@ -0,0 +1,54 @@
+# Generated by Django 2.2.24 on 2023-01-27 15:03
+
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('archaeological_operations', '0110_auto_20220917_1818'),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='archaeologicalsite',
+ name='geodata',
+ field=models.ManyToManyField(blank=True, related_name='related_items_archaeological_operations_archaeologicalsite', to='ishtar_common.GeoVectorData', verbose_name='Geodata'),
+ ),
+ migrations.AlterField(
+ model_name='archaeologicalsite',
+ name='main_geodata',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='main_related_items_archaeological_operations_archaeologicalsite', to='ishtar_common.GeoVectorData', verbose_name='Main geodata'),
+ ),
+ migrations.AlterField(
+ model_name='historicalarchaeologicalsite',
+ name='main_geodata',
+ field=models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='ishtar_common.GeoVectorData', verbose_name='Main geodata'),
+ ),
+ migrations.AlterField(
+ model_name='historicaloperation',
+ name='cached_label',
+ field=models.TextField(blank=True, db_index=True, default='', help_text='Generated automatically - do not edit', verbose_name='Cached name'),
+ ),
+ migrations.AlterField(
+ model_name='historicaloperation',
+ name='main_geodata',
+ field=models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='ishtar_common.GeoVectorData', verbose_name='Main geodata'),
+ ),
+ migrations.AlterField(
+ model_name='operation',
+ name='cached_label',
+ field=models.TextField(blank=True, db_index=True, default='', help_text='Generated automatically - do not edit', verbose_name='Cached name'),
+ ),
+ migrations.AlterField(
+ model_name='operation',
+ name='geodata',
+ field=models.ManyToManyField(blank=True, related_name='related_items_archaeological_operations_operation', to='ishtar_common.GeoVectorData', verbose_name='Geodata'),
+ ),
+ migrations.AlterField(
+ model_name='operation',
+ name='main_geodata',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='main_related_items_archaeological_operations_operation', to='ishtar_common.GeoVectorData', verbose_name='Main geodata'),
+ ),
+ ]
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 "")