diff options
| author | Étienne Loks <etienne.loks@iggdrasil.net> | 2026-04-24 18:10:29 +0200 |
|---|---|---|
| committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2026-04-26 17:43:38 +0200 |
| commit | a20e6f427edfaf3ae8b8f020957134fa4a2d577d (patch) | |
| tree | c7784b19b02793147b11b4236853456293c1b9df /archaeological_finds/models_finds.py | |
| parent | c9db6e5bdb9182cd2d38c1daf1096350cf13a4a7 (diff) | |
| download | Ishtar-a20e6f427edfaf3ae8b8f020957134fa4a2d577d.tar.bz2 Ishtar-a20e6f427edfaf3ae8b8f020957134fa4a2d577d.zip | |
✨ finds - workshop, movement, style fields: model, admin, forms, views, sheet (refs #6725)
Diffstat (limited to 'archaeological_finds/models_finds.py')
| -rw-r--r-- | archaeological_finds/models_finds.py | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/archaeological_finds/models_finds.py b/archaeological_finds/models_finds.py index f7cd67968..9db0dae2a 100644 --- a/archaeological_finds/models_finds.py +++ b/archaeological_finds/models_finds.py @@ -141,6 +141,21 @@ post_save.connect(post_save_cache, sender=IconographicPatternType) post_delete.connect(post_save_cache, sender=IconographicPatternType) +class WorkshopMovementStyleType(OrderedHierarchicalType): + class Meta: + verbose_name = _("Workshop, movement, style type") + verbose_name_plural = _("Workshop, movement, style types") + ordering = ( + "order", + "label", + ) + ADMIN_SECTION = _("Finds") + + +post_save.connect(post_save_cache, sender=WorkshopMovementStyleType) +post_delete.connect(post_save_cache, sender=WorkshopMovementStyleType) + + class ListedBuildingProtectionNature(OrderedHierarchicalType): class Meta: verbose_name = _("Listed building protection nature") @@ -1379,6 +1394,7 @@ class Find( ("material_types__label", _("Material type")), ("object_types__label", _("Object type")), ("iconographic_patterns__label", _("Iconographic patterns")), + ("workshop_movement_styles__label", _("Workshop, movement, style")), ("recommended_treatments__label", _("Recommended treatments")), ("conservatory_states__label", _("Conservatory states")), ("integrities__label", _("Integrity")), @@ -1576,6 +1592,11 @@ class Find( pgettext_lazy("key for text search", "iconography-notes"), "iconography_notes__iexact", ), + "workshop_movement_styles": SearchAltName( + pgettext_lazy("key for text search", "workshop-movement-style"), + "workshop_movement_styles__label__iexact", + related_name="workshop_movement_styles", + ), "actors": SearchAltName( pgettext_lazy("key for text search", "actors"), "actors__cached_label__iexact" @@ -2071,6 +2092,7 @@ class Find( SearchVectorConfig("integrities__label", "raw"), SearchVectorConfig("material_types__label", "local"), SearchVectorConfig("iconographic_patterns__label", "local"), + SearchVectorConfig("workshop_movement_styles__label", "local"), SearchVectorConfig("object_types__label", "raw"), SearchVectorConfig("remarkabilities__label", "raw"), SearchVectorConfig("technical_processes__label", "raw"), @@ -2174,6 +2196,7 @@ class Find( HISTORICAL_M2M = [ "material_types", "iconographic_patterns", + "workshop_movement_styles", "technical_processes", "periods", "datings", @@ -2203,6 +2226,7 @@ class Find( "functional_areas", "material_types", "iconographic_patterns", + "workshop_movement_styles", "integrities", "recommended_treatments", "museum_former_collections", @@ -2279,6 +2303,12 @@ class Find( ) iconography_notes = models.TextField(_("Notes on iconography"), blank=True, default="") + workshop_movement_styles = models.ManyToManyField( + WorkshopMovementStyleType, + verbose_name=_("Workshop, movement, style"), + related_name="finds", + blank=True, + ) manufacturing_place = models.TextField( _("Manufacturing place"), blank=True, default="" ) |
