summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2023-01-19 19:22:41 +0100
committerÉtienne Loks <etienne.loks@iggdrasil.net>2023-01-19 19:22:41 +0100
commitd09a5199a6456b9ee061842a857870b6b41c656d (patch)
treef9607b86e517c38ba6b2e90ea9768f9ad0489a15
parent4822d4ea4452a4408c5f20387536c0fddcdcc315 (diff)
downloadIshtar-d09a5199a6456b9ee061842a857870b6b41c656d.tar.bz2
Ishtar-d09a5199a6456b9ee061842a857870b6b41c656d.zip
Warehouse: cached town column
-rw-r--r--archaeological_warehouse/migrations/0115_auto_20230119_1911.py49
-rw-r--r--archaeological_warehouse/models.py24
2 files changed, 68 insertions, 5 deletions
diff --git a/archaeological_warehouse/migrations/0115_auto_20230119_1911.py b/archaeological_warehouse/migrations/0115_auto_20230119_1911.py
new file mode 100644
index 000000000..cf678f2c2
--- /dev/null
+++ b/archaeological_warehouse/migrations/0115_auto_20230119_1911.py
@@ -0,0 +1,49 @@
+# Generated by Django 2.2.24 on 2023-01-19 19:11
+
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('archaeological_warehouse', '0114_auto_20220707_1633'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='historicalwarehouse',
+ name='cached_town_label',
+ field=models.TextField(blank=True, default='', help_text='Generated automatically - do not edit', verbose_name='Cached town label'),
+ ),
+ migrations.AddField(
+ model_name='warehouse',
+ name='cached_town_label',
+ field=models.TextField(blank=True, default='', help_text='Generated automatically - do not edit', verbose_name='Cached town label'),
+ ),
+ migrations.AlterField(
+ model_name='container',
+ name='geodata',
+ field=models.ManyToManyField(blank=True, related_name='related_items_archaeological_warehouse_container', to='ishtar_common.GeoVectorData', verbose_name='Geodata'),
+ ),
+ migrations.AlterField(
+ model_name='container',
+ name='main_geodata',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='main_related_items_archaeological_warehouse_container', to='ishtar_common.GeoVectorData', verbose_name='Main geodata'),
+ ),
+ migrations.AlterField(
+ model_name='historicalwarehouse',
+ 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='warehouse',
+ name='geodata',
+ field=models.ManyToManyField(blank=True, related_name='related_items_archaeological_warehouse_warehouse', to='ishtar_common.GeoVectorData', verbose_name='Geodata'),
+ ),
+ migrations.AlterField(
+ model_name='warehouse',
+ name='main_geodata',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='main_related_items_archaeological_warehouse_warehouse', to='ishtar_common.GeoVectorData', verbose_name='Main geodata'),
+ ),
+ ]
diff --git a/archaeological_warehouse/models.py b/archaeological_warehouse/models.py
index 0997d6ea7..3f4913d4b 100644
--- a/archaeological_warehouse/models.py
+++ b/archaeological_warehouse/models.py
@@ -284,7 +284,11 @@ class Warehouse(
MODEL = "warehouse"
SHOW_URL = "show-warehouse"
DELETE_URL = "delete-warehouse"
- TABLE_COLS = ["name", "warehouse_type__label"]
+ TABLE_COLS = ["name", "warehouse_type__label", "cached_town_label"]
+ COL_LABELS = {
+ "warehouse_type__label": _("Type"),
+ "cached_town_label": _("Town"),
+ }
NEW_QUERY_ENGINE = True
BASE_SEARCH_VECTORS = [
SearchVectorConfig("name"),
@@ -294,9 +298,6 @@ class Warehouse(
SearchVectorConfig("precise_town__name"),
SearchVectorConfig("comment", "local"),
]
- COL_LABELS = {
- "warehouse_type__label": _("Type"),
- }
EXTRA_REQUEST_KEYS = {
"warehouse_type__label": "warehouse_type__label",
@@ -319,7 +320,7 @@ class Warehouse(
}
GEO_LABEL = "name"
DOWN_MODEL_UPDATE = ["containers"]
- CACHED_LABELS = []
+ CACHED_LABELS = ["cached_town_label"]
QA_EDIT = QuickAction(
url="warehouse-qa-bulk-update",
@@ -394,6 +395,12 @@ class Warehouse(
default=0,
help_text=_("Automatically generated"),
)
+ cached_town_label = models.TextField(
+ _("Cached town label"),
+ blank=True,
+ default="",
+ help_text=_("Generated automatically - do not edit"),
+ )
SUB_ADDRESSES = ["organization", "person_in_charge"]
class Meta:
@@ -640,6 +647,13 @@ class Warehouse(
wdiv.delete()
merge_model_objects(self, item, keep_old=keep_old)
+ def _generate_cached_town_label(self):
+ if self.precise_town:
+ return str(self.precise_town)
+ if self.town:
+ return self.town
+ return ""
+
def save(self, *args, **kwargs):
self.update_search_vector()
super(Warehouse, self).save(*args, **kwargs)