summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--archaeological_context_records/migrations/0045_auto_20190527_1645.py70
-rw-r--r--archaeological_context_records/models.py18
2 files changed, 85 insertions, 3 deletions
diff --git a/archaeological_context_records/migrations/0045_auto_20190527_1645.py b/archaeological_context_records/migrations/0045_auto_20190527_1645.py
new file mode 100644
index 000000000..f88bdd805
--- /dev/null
+++ b/archaeological_context_records/migrations/0045_auto_20190527_1645.py
@@ -0,0 +1,70 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.11.18 on 2019-05-27 16:45
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('archaeological_context_records', '0044_auto_20190225_1637'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='contextrecord',
+ name='cached_periods',
+ field=models.TextField(blank=True, help_text='Generated automatically - do not edit', null=True, verbose_name='Cached periods label'),
+ ),
+ migrations.AddField(
+ model_name='historicalcontextrecord',
+ name='cached_periods',
+ field=models.TextField(blank=True, help_text='Generated automatically - do not edit', null=True, verbose_name='Cached periods label'),
+ ),
+ migrations.AlterField(
+ model_name='contextrecord',
+ name='multi_polygon_source',
+ field=models.CharField(blank=True, choices=[('T', 'Commune'), ('P', 'Précis'), ('M', 'Polygone')], max_length=1, null=True, verbose_name='Source du multi-polygone'),
+ ),
+ migrations.AlterField(
+ model_name='contextrecord',
+ name='multi_polygon_source_item',
+ field=models.CharField(blank=True, max_length=100, null=True, verbose_name='Élément source du multi-polygone'),
+ ),
+ migrations.AlterField(
+ model_name='contextrecord',
+ name='point_source',
+ field=models.CharField(blank=True, choices=[('T', 'Commune'), ('P', 'Précis'), ('M', 'Polygone')], max_length=1, null=True, verbose_name='Source du point'),
+ ),
+ migrations.AlterField(
+ model_name='contextrecord',
+ name='point_source_item',
+ field=models.CharField(blank=True, max_length=100, null=True, verbose_name='Élément source du point'),
+ ),
+ migrations.AlterField(
+ model_name='historicalcontextrecord',
+ name='multi_polygon_source',
+ field=models.CharField(blank=True, choices=[('T', 'Commune'), ('P', 'Précis'), ('M', 'Polygone')], max_length=1, null=True, verbose_name='Source du multi-polygone'),
+ ),
+ migrations.AlterField(
+ model_name='historicalcontextrecord',
+ name='multi_polygon_source_item',
+ field=models.CharField(blank=True, max_length=100, null=True, verbose_name='Élément source du multi-polygone'),
+ ),
+ migrations.AlterField(
+ model_name='historicalcontextrecord',
+ name='point_source',
+ field=models.CharField(blank=True, choices=[('T', 'Commune'), ('P', 'Précis'), ('M', 'Polygone')], max_length=1, null=True, verbose_name='Source du point'),
+ ),
+ migrations.AlterField(
+ model_name='historicalcontextrecord',
+ name='point_source_item',
+ field=models.CharField(blank=True, max_length=100, null=True, verbose_name='Élément source du point'),
+ ),
+ migrations.AlterField(
+ model_name='relationtype',
+ name='logical_relation',
+ field=models.CharField(blank=True, choices=[('above', 'Au-dessus'), ('bellow', 'En dessous'), ('equal', 'Égal')], max_length=10, null=True, verbose_name='Relation logique'),
+ ),
+ ]
diff --git a/archaeological_context_records/models.py b/archaeological_context_records/models.py
index 3b5e24602..1b63af51a 100644
--- a/archaeological_context_records/models.py
+++ b/archaeological_context_records/models.py
@@ -283,12 +283,14 @@ class ContextRecord(BulkUpdatedItem, DocumentItem, BaseHistorizedItem,
EXTERNAL_ID_KEY = 'context_record_external_id'
EXTERNAL_ID_DEPENDENCIES = ['base_finds']
TABLE_COLS = ['label', 'operation__common_name', 'town__name',
- 'parcel__cached_label', 'unit']
+ 'parcel__cached_label', 'unit__label']
if settings.COUNTRY == 'fr':
TABLE_COLS.insert(1, 'operation__code_patriarche')
- TABLE_COLS_FOR_OPE = ['label', 'parcel', 'unit',
- 'datings__period__label', 'description']
+ TABLE_COLS_FOR_OPE = ['label', 'parcel', 'unit__label',
+ 'cached_periods', 'description']
+ NEW_QUERY_ENGINE = True
COL_LABELS = {
+ 'cached_periods': _("Periods"),
'datings__period__label': _("Periods"),
'datings__period': _("Datings (period)"),
'detailled_related_context_records': _("Related context records"),
@@ -337,6 +339,7 @@ class ContextRecord(BulkUpdatedItem, DocumentItem, BaseHistorizedItem,
'cached_label': 'cached_label__icontains',
'datings__period__label': 'datings__period__label',
'operation_id': 'operation_id',
+ 'unit__label': "unit__label"
}
RELATION_TYPES_PREFIX = {'ope_relation_types': 'operation__',
'cr_relation_types': ''}
@@ -424,6 +427,7 @@ class ContextRecord(BulkUpdatedItem, DocumentItem, BaseHistorizedItem,
HISTORICAL_M2M = [
'datings', 'documentations'
]
+ CACHED_LABELS = ['cached_label', 'cached_periods']
history = HistoricalRecords(bases=[HistoryModel])
objects = ExternalIdManager()
@@ -508,6 +512,10 @@ class ContextRecord(BulkUpdatedItem, DocumentItem, BaseHistorizedItem,
verbose_name=_("Main image"), blank=True, null=True)
cached_label = models.TextField(_("Cached name"), null=True, blank=True,
db_index=True)
+ cached_periods = models.TextField(
+ _("Cached periods label"), blank=True, null=True,
+ help_text=_("Generated automatically - do not edit")
+ )
class Meta:
verbose_name = _("Context Record")
@@ -704,6 +712,10 @@ class ContextRecord(BulkUpdatedItem, DocumentItem, BaseHistorizedItem,
def _generate_cached_label(self):
return self.full_label()
+ def _generate_cached_periods(self):
+ return " & ".join([dating.period.label
+ for dating in self.datings.all()])
+
def _get_associated_cached_labels(self):
from archaeological_finds.models import Find, BaseFind
return list(Find.objects.filter(base_finds__context_record=self).all())\