diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2025-08-27 14:20:57 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2025-08-27 15:07:16 +0200 |
commit | e7cd1e316b9f37e553ae52c830001cc4bc06428a (patch) | |
tree | ae8465424ba1ca87f34a76ec04c25760d217fa97 /archaeological_finds/forms.py | |
parent | 55e02abfe37176a7dff42900794dc93f481da5bb (diff) | |
download | Ishtar-e7cd1e316b9f37e553ae52c830001cc4bc06428a.tar.bz2 Ishtar-e7cd1e316b9f37e553ae52c830001cc4bc06428a.zip |
✨ finds: change collection to m2m, add owner and ownership (#6082)
Diffstat (limited to 'archaeological_finds/forms.py')
-rw-r--r-- | archaeological_finds/forms.py | 81 |
1 files changed, 44 insertions, 37 deletions
diff --git a/archaeological_finds/forms.py b/archaeological_finds/forms.py index 31673014c..def6c53b9 100644 --- a/archaeological_finds/forms.py +++ b/archaeological_finds/forms.py @@ -250,6 +250,7 @@ class BasicFindForm(MuseumForm, CustomForm, ManageOldType): "museum_donor", "museum_inventory_marking_presence", "museum_marking_type", + "museum_collection", ] associated_models = { "material_type": models.MaterialType, @@ -271,7 +272,8 @@ class BasicFindForm(MuseumForm, CustomForm, ManageOldType): "museum_donor": BiographicalNote, "museum_former_collection": BiographicalNote, "get_first_base_find__discovery_method": models.DiscoveryMethod, - # 'collection': Warehouse, + "owner": models.OwnerType, + "ownership_status": models.OwnershipStatus } field_order = [ "museum_id_prefix", @@ -381,14 +383,14 @@ class BasicFindForm(MuseumForm, CustomForm, ManageOldType): } HEADERS = {} HEADERS["museum_id_prefix"] = FormHeader(_("Museum identification")) - label = forms.CharField( - label=_("Free ID"), validators=[validators.MaxLengthValidator(60)] - ) museum_id_prefix = forms.CharField(label=_("Museum ID prefix"), required=False) museum_id = forms.CharField(label=_("Museum inventory number"), required=False) 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)] + ) 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) @@ -400,12 +402,14 @@ class BasicFindForm(MuseumForm, CustomForm, ManageOldType): label=_("Type of marking"), required=False ) mark = forms.CharField(label=_("Mark"), required=False) - # collection = forms.IntegerField( - # label=_("Collection (warehouse)"), - # widget=widgets.JQueryAutoComplete( - # reverse_lazy('autocomplete-warehouse'), - # associated_model=Warehouse, new=True), - # validators=[valid_id(Warehouse)], required=False) + HEADERS["ownership_status"] = FormHeader(_("Ownership")) + ownership_status = forms.ChoiceField( + label=_("Ownership status"), required=False, choices=[] + ) + owner = forms.ChoiceField( + label=_("Owner"), required=False, choices=[] + ) + HEADERS["museum_owner_institution"] = FormHeader(_("Museum")) museum_owner_institution = widgets.ModelJQueryAutocompleteField( model=Organization, label=_("Owner institution"), new=True, required=False @@ -427,9 +431,8 @@ class BasicFindForm(MuseumForm, CustomForm, ManageOldType): museum_donor = widgets.Select2MultipleField( model=BiographicalNote, label=_("Donors, testators or vendors"), required=False, remote=True, new=True) - museum_collection = forms.ChoiceField( - label=_("Collection"), required=False, choices=[] - ) + museum_collection = widgets.Select2MultipleField( + model=models.MuseumCollection, label=_("Collections"), required=False) museum_former_collection = widgets.Select2MultipleField( model=BiographicalNote, label=_("Former collections"), required=False, remote=True, new=True) museum_inventory_entry_year = forms.IntegerField( @@ -596,6 +599,8 @@ class BasicFindForm(MuseumForm, CustomForm, ManageOldType): FieldType("museum_collection", models.MuseumCollection), FieldType("museum_inventory_conformity", models.InventoryConformity), FieldType("museum_original_repro", models.OriginalReproduction), + FieldType("owner", models.OwnerType), + FieldType("ownership_status", models.OwnershipStatus), ] def __init__(self, *args, **kwargs): @@ -657,6 +662,8 @@ class FindForm(BasicFindForm): "museum_inventory_marking_presence", "museum_marking_type", "mark", + "ownership_status", + "owner", "museum_owner_institution", "museum_assigned_institution", "museum_custodian_institution", @@ -926,8 +933,10 @@ class QAFindFormMulti(MuseumForm, QAForm): "qa_museum_collection_entry_mode", "qa_museum_inventory_marking_presence", "qa_museum_marking_type", - "qa_museum_collection", + "qa_museum_collections", "qa_museum_original_repro", + "qa_owner", + "qa_ownership_status", ] associated_models = { "qa_material_types": models.MaterialType, @@ -951,9 +960,11 @@ class QAFindFormMulti(MuseumForm, QAForm): "qa_museum_donors": BiographicalNote, "qa_museum_marking_type": models.MarkingType, "qa_museum_inventory_marking_presence": models.InventoryMarkingPresence, - "qa_museum_collection": models.MuseumCollection, + "qa_museum_collections": models.MuseumCollection, "qa_museum_original_repro": models.OriginalReproduction, "qa_museum_former_collections": BiographicalNote, + "qa_owner": models.OwnerType, + "qa_ownership_status": models.OwnershipStatus, } MULTI = True @@ -966,7 +977,7 @@ class QAFindFormMulti(MuseumForm, QAForm): "qa_check_date", "qa_treatment_emergency", "qa_appraisal_date", - "qa_insurance_value", # 'qa_collection', + "qa_insurance_value", "qa_find_number", "qa_min_number_of_individuals", "qa_museum_inventory_quantity", @@ -977,9 +988,10 @@ class QAFindFormMulti(MuseumForm, QAForm): "qa_museum_custodian_institution", "qa_museum_entry_date", "qa_museum_entry_date_end", - "qa_museum_collection", "qa_museum_inventory_entry_year", "qa_museum_original_repro", + "qa_owner", + "qa_ownership_status", ] PROFILE_FILTER = { "museum": [ @@ -995,7 +1007,7 @@ class QAFindFormMulti(MuseumForm, QAForm): "qa_museum_donors", "qa_museum_inventory_marking_presence", "qa_museum_marking_type", - "qa_museum_collection", + "qa_museum_collections", "qa_museum_former_collections", "qa_museum_inventory_entry_year", "qa_museum_original_repro", @@ -1006,6 +1018,7 @@ class QAFindFormMulti(MuseumForm, QAForm): "qa_ue": FormHeader(_("Context record")), "qa_label": FormHeader(_("Identification"), slug='identification'), "qa_denomination": FormHeader(_("Identification"), slug='identification'), + "qa_ownership_status": FormHeader(_("Ownership")), "qa_description": FormHeader(_("Description")), "qa_checked_type": FormHeader(_("Sheet")), "qa_period": FormHeader(_("Datation")), @@ -1046,12 +1059,11 @@ class QAFindFormMulti(MuseumForm, QAForm): qa_laboratory_id = forms.CharField(label=_("Laboratory ID"), required=False) qa_seal_number = forms.CharField(label=_("Seal number"), required=False) qa_mark = forms.CharField(label=_("Mark"), required=False) - # qa_collection = forms.IntegerField( - # label=_("Collection"), - # widget=widgets.JQueryAutoComplete( - # reverse_lazy('autocomplete-warehouse'), - # associated_model=Warehouse), - # validators=[valid_id(Warehouse)], required=False) + + ## Ownership + qa_ownership_status = forms.ChoiceField(label=_("Ownership status"), + required=False, choices=[]) + qa_owner = forms.ChoiceField(label=_("Owner"), required=False, choices=[]) ## Museum qa_museum_owner_institution = forms.IntegerField( @@ -1094,7 +1106,7 @@ class QAFindFormMulti(MuseumForm, QAForm): qa_museum_marking_type = widgets.Select2MultipleField( label=_("Type of marking"), required=False, choices=[] ) - qa_museum_collection = forms.ChoiceField(label=_("Collection"), required=False, choices=[]) + qa_museum_collections = forms.ChoiceField(label=_("Collections"), required=False, choices=[]) qa_museum_former_collections = forms.IntegerField( label=_("Former collections"), required=False, widget=widgets.JQueryAutoComplete( @@ -1195,9 +1207,10 @@ class QAFindFormMulti(MuseumForm, QAForm): FieldType("qa_museum_collection_entry_mode", models.CollectionEntryModeType), FieldType("qa_museum_marking_type", models.MarkingType, is_multiple=True), FieldType("qa_museum_inventory_marking_presence", models.InventoryMarkingPresence, is_multiple=True), - FieldType("qa_museum_collection", models.MuseumCollection), + FieldType("qa_museum_collections", models.MuseumCollection), FieldType("qa_museum_original_repro", models.OriginalReproduction), - + FieldType("qa_ownership_status", models.OwnershipStatus), + FieldType("qa_owner", models.OwnerType), ] def __init__(self, *args, **kwargs): @@ -1678,7 +1691,7 @@ class FindSelect(MuseumForm, GeoItemSelect, PeriodSelect): "museum_donors", "museum_inventory_marking_presence", "museum_marking_type", - "museum_collection", + "museum_collections", "museum_former_collections", "museum_inventory_entry_year", "museum_inventory_conformity", @@ -1706,7 +1719,7 @@ class FindSelect(MuseumForm, GeoItemSelect, PeriodSelect): "museum_donors", "museum_inventory_marking_presence", "museum_marking_type", - "museum_collection", + "museum_collections", "museum_former_collections", "museum_inventory_entry_year", "museum_inventory_conformity", @@ -1973,7 +1986,7 @@ class FindSelect(MuseumForm, GeoItemSelect, PeriodSelect): label=_("Museum - Type of marking"), choices=[] ) mark = forms.CharField(label=_("Mark")) - museum_collection = forms.ChoiceField( + museum_collections = forms.ChoiceField( label=_("Museum - Collection"), choices=[] ) museum_former_collections = forms.IntegerField( @@ -2025,7 +2038,7 @@ class FindSelect(MuseumForm, GeoItemSelect, PeriodSelect): FieldType("museum_collection_entry_mode", models.CollectionEntryModeType), FieldType("museum_inventory_marking_presence", models.InventoryMarkingPresence), FieldType("museum_marking_type", models.MarkingType), - FieldType("museum_collection", models.MuseumCollection), + FieldType("museum_collections", models.MuseumCollection), FieldType("museum_inventory_conformity", models.InventoryConformity), FieldType("museum_original_repro", models.OriginalReproduction), ] + GeoItemSelect.TYPES @@ -2058,12 +2071,6 @@ class FindSelect(MuseumForm, GeoItemSelect, PeriodSelect): class FindSelectWarehouseModule(FindSelect): - # collection = forms.IntegerField( - # label=_("Collection (warehouse)"), - # widget=widgets.JQueryAutoComplete( - # reverse_lazy('autocomplete-warehouse'), - # associated_model=Warehouse), - # validators=[valid_id(Warehouse)]) container_ref = forms.IntegerField( label=_("Reference container"), widget=widgets.JQueryAutoComplete( |