summaryrefslogtreecommitdiff
path: root/archaeological_operations/models.py
diff options
context:
space:
mode:
Diffstat (limited to 'archaeological_operations/models.py')
-rw-r--r--archaeological_operations/models.py21
1 files changed, 19 insertions, 2 deletions
diff --git a/archaeological_operations/models.py b/archaeological_operations/models.py
index 55594bcd9..d452bbb39 100644
--- a/archaeological_operations/models.py
+++ b/archaeological_operations/models.py
@@ -41,7 +41,8 @@ from ishtar_common.models import BaseHistorizedItem, Dashboard, \
post_delete_record_relation, post_save_cache, RelationItem, \
ShortMenuItem, SourceType, Town, ValueGetter, get_current_profile, \
document_attached_changed, HistoryModel, SearchAltName, \
- GeoItem, QRCodeItem, SearchVectorConfig, DocumentItem, QuickAction, MainItem
+ GeoItem, QRCodeItem, SearchVectorConfig, DocumentItem, QuickAction, \
+ MainItem, HierarchicalType
from ishtar_common.model_managers import UUIDModelManager
from ishtar_common.utils import cached_label_changed, \
force_cached_label_changed, mode, m2m_historization_changed, post_save_geo
@@ -106,6 +107,15 @@ class RecordQualityType(GeneralType):
ordering = ('order',)
+class CulturalAttributionType(HierarchicalType):
+ order = models.IntegerField(_("Order"))
+
+ class Meta:
+ verbose_name = _("Cultural attribution type")
+ verbose_name_plural = _("Cultural attribution types")
+ ordering = ('order',)
+
+
post_save.connect(post_save_cache, sender=RecordQualityType)
post_delete.connect(post_save_cache, sender=RecordQualityType)
@@ -242,6 +252,10 @@ class ArchaeologicalSite(DocumentItem, BaseHistorizedItem, QRCodeItem,
pgettext_lazy("key for text search", "numero-affmar"),
'affmar_number__iexact'
),
+ 'cultural_attributions': SearchAltName(
+ pgettext_lazy("key for text search", "cultural-attribution'"),
+ 'cultural_attributions__label__iexact'
+ ),
}
ALT_NAMES.update(BaseHistorizedItem.ALT_NAMES)
@@ -252,7 +266,7 @@ class ArchaeologicalSite(DocumentItem, BaseHistorizedItem, QRCodeItem,
RELATIVE_SESSION_NAMES = [
('operation', 'operations__pk'),
]
- HISTORICAL_M2M = ['periods', 'remains', 'towns']
+ HISTORICAL_M2M = ['periods', 'remains', 'towns', 'cultural_attributions']
CACHED_LABELS = ['cached_label', 'cached_towns_label', 'cached_periods',
'cached_remains']
DOWN_MODEL_UPDATE = ["context_records"]
@@ -275,6 +289,9 @@ class ArchaeologicalSite(DocumentItem, BaseHistorizedItem, QRCodeItem,
blank=True)
remains = models.ManyToManyField("RemainType", verbose_name=_(u'Remains'),
blank=True)
+ cultural_attributions = models.ManyToManyField(
+ "CulturalAttributionType", verbose_name=_("Cultural attribution"),
+ blank=True)
towns = models.ManyToManyField(Town, verbose_name=_("Towns"),
related_name='sites', blank=True)
comment = models.TextField(_("Comment"), null=True, blank=True)