summaryrefslogtreecommitdiff
path: root/archaeological_finds/models_finds.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2021-06-02 22:53:12 +0200
committerÉtienne Loks <etienne.loks@iggdrasil.net>2021-06-02 22:53:12 +0200
commitb78fa1d244be029d49966a920f00f178ee2ef9ae (patch)
tree5ccf9926aed3e4fee4dce8594f69010ae2b00520 /archaeological_finds/models_finds.py
parent914fca851a55d60a25eee0a0848175f68f8c4b4c (diff)
downloadIshtar-b78fa1d244be029d49966a920f00f178ee2ef9ae.tar.bz2
Ishtar-b78fa1d244be029d49966a920f00f178ee2ef9ae.zip
Find: add functional area field
Diffstat (limited to 'archaeological_finds/models_finds.py')
-rw-r--r--archaeological_finds/models_finds.py24
1 files changed, 24 insertions, 0 deletions
diff --git a/archaeological_finds/models_finds.py b/archaeological_finds/models_finds.py
index 1f2c692e1..e53706e9a 100644
--- a/archaeological_finds/models_finds.py
+++ b/archaeological_finds/models_finds.py
@@ -270,6 +270,20 @@ post_save.connect(post_save_cache, sender=ObjectType)
post_delete.connect(post_save_cache, sender=ObjectType)
+class FunctionalArea(HierarchicalType):
+ class Meta:
+ verbose_name = _("Functional area")
+ verbose_name_plural = _("Functional areas")
+ ordering = (
+ "parent__label",
+ "label",
+ )
+
+
+post_save.connect(post_save_cache, sender=FunctionalArea)
+post_delete.connect(post_save_cache, sender=FunctionalArea)
+
+
class ObjectTypeQualityType(GeneralType):
order = models.IntegerField(_("Order"), default=10)
@@ -1562,6 +1576,10 @@ class Find(
pgettext_lazy("key for text search", "cultural-attribution"),
"cultural_attributions__label__iexact",
),
+ "functional_areas": SearchAltName(
+ pgettext_lazy("key for text search", "functional-area"),
+ "functional_areas__label__iexact",
+ ),
}
ALT_NAMES.update(BaseHistorizedItem.ALT_NAMES)
ALT_NAMES.update(DocumentItem.ALT_NAMES)
@@ -1683,6 +1701,7 @@ class Find(
"material_types",
"datings",
"object_types",
+ "functional_areas",
"integrities",
"remarkabilities",
"communicabilities",
@@ -1694,6 +1713,7 @@ class Find(
GET_VALUES_EXTRA_TYPES = ValueGetter.GET_VALUES_EXCLUDE_FIELDS + [
"material_types",
"object_types",
+ "functional_areas",
"integrities",
"remarkabilities",
"communicabilities",
@@ -1801,6 +1821,10 @@ class Find(
blank=True,
null=True,
)
+ functional_areas = models.ManyToManyField(
+ FunctionalArea, verbose_name=_("Functional area"), related_name="find",
+ blank=True
+ )
integrities = models.ManyToManyField(
IntegrityType,
verbose_name=_("Integrity / interest"),