diff options
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 |
commit | e9e5ebbb172dbf4242ced7e57a17ed1a1caad460 (patch) | |
tree | 5ccf9926aed3e4fee4dce8594f69010ae2b00520 /archaeological_finds/models_finds.py | |
parent | 0369e17eb03343245039fa93487dd7dc23b697a9 (diff) | |
download | Ishtar-e9e5ebbb172dbf4242ced7e57a17ed1a1caad460.tar.bz2 Ishtar-e9e5ebbb172dbf4242ced7e57a17ed1a1caad460.zip |
Find: add functional area field
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"), |