diff options
| author | Étienne Loks <etienne.loks@iggdrasil.net> | 2026-04-16 17:31:27 +0200 |
|---|---|---|
| committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2026-04-16 17:36:29 +0200 |
| commit | 167b735b378c0e4fe6dc52f951b97994ba21d945 (patch) | |
| tree | e8a581f5edd24a45128cee9ae4962d4115125a7d | |
| parent | 175fadb6eab2abdbbf2d233173111de19efb7745 (diff) | |
| download | Ishtar-167b735b378c0e4fe6dc52f951b97994ba21d945.tar.bz2 Ishtar-167b735b378c0e4fe6dc52f951b97994ba21d945.zip | |
✨ finds - forms: many new fields
| -rw-r--r-- | archaeological_finds/forms.py | 66 | ||||
| -rw-r--r-- | archaeological_finds/models_finds.py | 2 |
2 files changed, 63 insertions, 5 deletions
diff --git a/archaeological_finds/forms.py b/archaeological_finds/forms.py index 51e8260ef..2832076e2 100644 --- a/archaeological_finds/forms.py +++ b/archaeological_finds/forms.py @@ -100,6 +100,7 @@ from archaeological_context_records.forms import DatingSelect from ishtar_common.models import ( Area, + Author, BiographicalNote, get_current_profile, IshtarUser, @@ -107,6 +108,7 @@ from ishtar_common.models import ( Organization, Person, person_type_pks_lazy, + QualifiedBiographicalNote, valid_id, valid_ids, ) @@ -236,6 +238,8 @@ class BasicFindForm(MuseumForm, CustomForm, ManageOldType): form_admin_name = _("Simple find - 020 - General") form_slug = "find-020-simplegeneral" base_models = [ + "actor", + "editor", "object_type", "period", "material_type", @@ -244,6 +248,7 @@ class BasicFindForm(MuseumForm, CustomForm, ManageOldType): "functional_area", "technical_area", "technical_processe", + "iconographic_pattern", "museum_former_collection", "museum_donor", "museum_inventory_marking_presence", @@ -251,6 +256,8 @@ class BasicFindForm(MuseumForm, CustomForm, ManageOldType): "museum_collection", ] associated_models = { + "actor": QualifiedBiographicalNote, + "editor": Author, "material_type": models.MaterialType, "cultural_attribution": CulturalAttributionType, "object_type": models.ObjectType, @@ -262,6 +269,8 @@ class BasicFindForm(MuseumForm, CustomForm, ManageOldType): "material_type_quality": models.MaterialTypeQualityType, "object_type_quality": models.ObjectTypeQualityType, "checked_type": models.CheckedType, + "iconographic_pattern": models.IconographicPatternType, + "listed_building_protection_nature": models.ListedBuildingProtectionNature, "museum_collection_entry_mode": models.CollectionEntryModeType, "museum_inventory_marking_presence": models.InventoryMarkingPresence, "museum_marking_type": models.MarkingType, @@ -281,11 +290,13 @@ class BasicFindForm(MuseumForm, CustomForm, ManageOldType): "denomination", "previous_id", "laboratory_id", + "title", "museum_id", "museum_id_comment", "seal_number", "museum_inventory_marking_presence", "museum_marking_type", + "mark_text", "mark", "museum_owner_institution", "museum_assigned_institution", @@ -306,6 +317,8 @@ class BasicFindForm(MuseumForm, CustomForm, ManageOldType): "museum_original_repro", "museum_allocation_date", "museum_purchase_price", + "iconographic_pattern", + "iconography_notes", "description", "public_description", "get_first_base_find__discovery_method", @@ -331,6 +344,7 @@ class BasicFindForm(MuseumForm, CustomForm, ManageOldType): "cultural_attribution", "period", "dating_comment", + "actor", "length", "width", "height", @@ -347,6 +361,8 @@ class BasicFindForm(MuseumForm, CustomForm, ManageOldType): "check_date", ] extra_form_modals = [ + "author", + "qualifiedbiographicalnote", "biographicalnote", "person", "organization", @@ -388,12 +404,11 @@ class BasicFindForm(MuseumForm, CustomForm, ManageOldType): museum_id_suffix = forms.CharField(label=_("Museum ID suffix"), required=False) museum_id_comment = forms.CharField(label=_("Comment on museum ID"), widget=forms.Textarea, required=False) HEADERS["label"] = FormHeader(_("Identification")) - label = forms.CharField( - label=_("Free ID"), validators=[validators.MaxLengthValidator(60)] - ) + label = forms.CharField(label=_("Free ID")) denomination = forms.CharField(label=_("Denomination"), required=False) previous_id = forms.CharField(label=_("Previous ID"), required=False) laboratory_id = forms.CharField(label=_("Laboratory ID"), required=False) + title = forms.CharField(label=_("Title"), required=False) seal_number = forms.CharField(label=_("Seal number"), required=False) museum_inventory_marking_presence = widgets.Select2MultipleField( label=_("Presence of inventory marking"), required=False @@ -401,6 +416,7 @@ class BasicFindForm(MuseumForm, CustomForm, ManageOldType): museum_marking_type = widgets.Select2MultipleField( label=_("Type of marking"), required=False ) + mark_text = forms.CharField(label=_("Transcription of the marking"), required=False) mark = forms.CharField(label=_("Marking details"), required=False) HEADERS["ownership_status"] = FormHeader(_("Ownership")) ownership_status = forms.ChoiceField( @@ -449,6 +465,12 @@ class BasicFindForm(MuseumForm, CustomForm, ManageOldType): ) museum_allocation_date = DateField(label=_("Date of museum allocation"), required=False) museum_purchase_price = forms.CharField(label=_("Purchase price"), required=False) + iconographic_pattern = widgets.Select2MultipleField( + label=_("Iconographic patterns"), required=False, + ) + iconography_notes = forms.CharField( + label=_("Iconography notes"), widget=forms.Textarea, required=False + ) HEADERS["museum_inventory_transcript"] = FormHeader(_("Description")) museum_inventory_transcript = forms.CharField( @@ -526,6 +548,9 @@ class BasicFindForm(MuseumForm, CustomForm, ManageOldType): dating_comment = forms.CharField( label=_("Comment on datings"), required=False, widget=forms.Textarea ) + actor = widgets.Select2MultipleField( + model=QualifiedBiographicalNote, label=_("Actors"), required=False, + remote=True, new=True, remote_filter='qualification_type__F') HEADERS["length"] = FormHeader(_("Dimensions")) length = FloatField( @@ -571,9 +596,26 @@ class BasicFindForm(MuseumForm, CustomForm, ManageOldType): label=_("Dimensions comment"), required=False, widget=forms.Textarea ) + HEADERS["listed_building_id"] = FormHeader(_("Listed buildings")) + listed_building_id = forms.CharField(label=_("Listed building ID"), required=False) + listed_building_protection_nature = forms.ChoiceField( + label=_("Nature of listed buildings protection"), choices=[], + required=False + ) + listed_building_date = DateField( + label=_("Date of listing as a listed building"), + required=False) + listed_building_notes = forms.CharField( + label=_("Notes on listed building"), required=False, + widget=forms.Textarea) + HEADERS["checked_type"] = FormHeader(_("Sheet")) checked_type = forms.ChoiceField(label=_("Check"), required=False) check_date = DateField(initial=get_now, label=_("Check date")) + editor = widgets.Select2MultipleField( + label=_("Editors"), required=False, + model=Author, remote=True, new=True + ) TYPES = [ FieldType( @@ -598,6 +640,8 @@ class BasicFindForm(MuseumForm, CustomForm, ManageOldType): FieldType("technical_processe", models.TechnicalProcessType, is_multiple=True), FieldType("communicabilitie", models.CommunicabilityType, is_multiple=True), FieldType("checked_type", models.CheckedType, is_multiple=True), + FieldType("iconographic_pattern", models.IconographicPatternType, is_multiple=True), + FieldType("listed_building_protection_nature", models.ListedBuildingProtectionNature), FieldType("museum_collection_entry_mode", models.CollectionEntryModeType), FieldType("museum_inventory_marking_presence", models.InventoryMarkingPresence, is_multiple=True), FieldType("museum_marking_type", models.MarkingType, is_multiple=True), @@ -661,11 +705,13 @@ class FindForm(BasicFindForm): "denomination", "previous_id", "get_first_base_find__excavation_id", + "title", "laboratory_id", "museum_id", "seal_number", "museum_inventory_marking_presence", "museum_marking_type", + "mark_text", "mark", "ownership_status", "owner", @@ -685,8 +731,10 @@ class FindForm(BasicFindForm): "museum_inventory_conformity", "museum_conformity_comment", "museum_original_repro", - "museum_allocation_date", "museum_purchase_price", + "iconographic_pattern", + "iconography_notes", + "museum_allocation_date", "museum_inventory_transcript", "description", "public_description", @@ -717,6 +765,7 @@ class FindForm(BasicFindForm): "comment", "period", "dating_comment", + "actor", "length", "width", "height", @@ -729,8 +778,13 @@ class FindForm(BasicFindForm): "clutter_short_side", "clutter_height", "dimensions_comment", + "listed_building_id", + "listed_building_protection_nature", + "listed_building_date", + "listed_building_notes", "checked_type", "check_date", + "editor", ] HEADERS = BasicFindForm.HEADERS.copy() @@ -1567,6 +1621,10 @@ class PreservationForm(CustomForm, ManageOldType): widget=widgets.Select2Multiple, required=False, ) + conservatory_states_details = forms.CharField( + label=_("Conservatory state details"), required=False, + widget=forms.Textarea + ) alteration = forms.MultipleChoiceField( label=_("Alteration"), choices=[], diff --git a/archaeological_finds/models_finds.py b/archaeological_finds/models_finds.py index 5f5a0df5d..1bd3d6b6a 100644 --- a/archaeological_finds/models_finds.py +++ b/archaeological_finds/models_finds.py @@ -2387,7 +2387,7 @@ class Find( dimensions_comment = models.TextField( _("Dimensions comment"), blank=True, default="" ) - mark_text = models.TextField(_("Mark text"), blank=True, default="") + mark_text = models.TextField(_("Transcription of the marking"), blank=True, default="") mark = models.TextField(_("Marking details"), blank=True, default="") comment = models.TextField(_("General comment"), blank=True, default="") dating_comment = models.TextField(_("Comment on dating"), blank=True, default="") |
