diff options
Diffstat (limited to 'archaeological_finds/models_finds.py')
-rw-r--r-- | archaeological_finds/models_finds.py | 24 |
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"), |