From e9e5ebbb172dbf4242ced7e57a17ed1a1caad460 Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Wed, 2 Jun 2021 22:53:12 +0200 Subject: Find: add functional area field --- archaeological_finds/forms.py | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) (limited to 'archaeological_finds/forms.py') diff --git a/archaeological_finds/forms.py b/archaeological_finds/forms.py index dd0074ea3..a2326e4f2 100644 --- a/archaeological_finds/forms.py +++ b/archaeological_finds/forms.py @@ -140,11 +140,12 @@ class BasicFindForm(CustomForm, ManageOldType): form_admin_name = _("Simple find - 020 - General") form_slug = "simplefind-020-general" base_models = ['object_type', 'material_type', 'communicabilitie', - 'cultural_attribution'] + 'cultural_attribution', 'functional_area'] associated_models = { 'material_type': models.MaterialType, 'cultural_attribution': CulturalAttributionType, 'object_type': models.ObjectType, + 'functional_area': models.FunctionalArea, 'communicabilitie': models.CommunicabilityType, 'material_type_quality': models.MaterialTypeQualityType, 'object_type_quality': models.ObjectTypeQualityType, @@ -155,7 +156,8 @@ class BasicFindForm(CustomForm, ManageOldType): 'label', 'denomination', 'previous_id', 'museum_id', 'laboratory_id', 'seal_number', 'mark', 'description', 'public_description', 'is_complete', 'material_type', 'material_type_quality', - 'material_comment', 'object_type', 'object_type_quality', 'find_number', + 'material_comment', 'object_type', 'object_type_quality', + 'functional_area', 'find_number', 'min_number_of_individuals', 'inscription', 'decoration', 'manufacturing_place', 'communicabilitie', 'comment', 'cultural_attribution', 'dating_comment', @@ -202,6 +204,9 @@ class BasicFindForm(CustomForm, ManageOldType): ) object_type_quality = forms.ChoiceField( label=_("Object type quality"), required=False, choices=[]) + functional_area = widgets.Select2MultipleField( + label=_("Functional areas"), required=False, + ) find_number = forms.IntegerField(label=_("Find number"), required=False) min_number_of_individuals = forms.IntegerField( label=_("Minimum number of individuals (MNI)"), required=False) @@ -266,6 +271,7 @@ class BasicFindForm(CustomForm, ManageOldType): FieldType('object_type', models.ObjectType, is_multiple=True, extra_args={"full_hierarchy": True}), FieldType('object_type_quality', models.ObjectTypeQualityType), + FieldType('functional_area', models.FunctionalArea, is_multiple=True), FieldType('communicabilitie', models.CommunicabilityType, is_multiple=True), FieldType('checked_type', models.CheckedType, is_multiple=True), @@ -310,8 +316,8 @@ class FindForm(BasicFindForm): 'public_description', 'get_first_base_find__discovery_date', 'get_first_base_find__discovery_date_taq', 'get_first_base_find__batch', 'is_complete', 'material_type', 'material_type_quality', - 'material_comment', 'object_type', - 'object_type_quality', 'find_number', 'min_number_of_individuals', + 'material_comment', 'object_type', 'object_type_quality', + 'functional_area', 'find_number', 'min_number_of_individuals', 'inscription', 'manufacturing_place', 'communicabilitie', 'comment', 'cultural_attribution', 'dating_comment', 'length', 'width', 'height', 'thickness', 'diameter', @@ -571,11 +577,13 @@ class QAFindFormMulti(QAForm): form_admin_name = _("Find - Quick action - Modify") form_slug = "find-quickaction-modify" base_models = ['get_first_base_find', 'qa_object_types', + 'qa_functional_areas', 'qa_material_types', 'qa_communicabilities', 'qa_alterations', 'qa_alteration_causes'] associated_models = { 'qa_material_types': models.MaterialType, 'qa_object_types': models.ObjectType, + 'qa_functional_areas': models.FunctionalArea, 'qa_communicabilities': models.CommunicabilityType, 'qa_alterations': models.AlterationType, 'qa_alteration_causes': models.AlterationCauseType, @@ -639,6 +647,9 @@ class QAFindFormMulti(QAForm): qa_object_types = widgets.Select2MultipleField( label=_("Object types"), required=False, ) + qa_functional_areas = widgets.Select2MultipleField( + label=_("Functional areas"), required=False, + ) qa_manufacturing_place = forms.CharField( label=_("Manufacturing place"), required=False) qa_communicabilities = widgets.Select2MultipleField( @@ -677,6 +688,7 @@ class QAFindFormMulti(QAForm): TYPES = [ FieldType('qa_material_types', models.MaterialType, is_multiple=True), FieldType('qa_object_types', models.ObjectType, is_multiple=True), + FieldType('qa_functional_areas', models.FunctionalArea, is_multiple=True), FieldType('qa_communicabilities', models.CommunicabilityType, is_multiple=True), FieldType('qa_alterations', models.AlterationType, is_multiple=True), @@ -1103,6 +1115,12 @@ class FindSelect(DocumentItemSelect, PeriodSelect): ) object_type_quality = forms.ChoiceField( label=_("Object type quality"), choices=[]) + functional_areas = forms.IntegerField( + label=_("Functional areas"), + widget=widgets.JQueryAutoComplete( + reverse_lazy('autocomplete-functionalarea'), + associated_model=models.FunctionalArea), + ) find_number = forms.IntegerField(label=_("Find number")) min_number_of_individuals = forms.IntegerField( -- cgit v1.2.3