summaryrefslogtreecommitdiff
path: root/archaeological_finds/forms.py
diff options
context:
space:
mode:
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
commitb78fa1d244be029d49966a920f00f178ee2ef9ae (patch)
tree5ccf9926aed3e4fee4dce8594f69010ae2b00520 /archaeological_finds/forms.py
parent914fca851a55d60a25eee0a0848175f68f8c4b4c (diff)
downloadIshtar-b78fa1d244be029d49966a920f00f178ee2ef9ae.tar.bz2
Ishtar-b78fa1d244be029d49966a920f00f178ee2ef9ae.zip
Find: add functional area field
Diffstat (limited to 'archaeological_finds/forms.py')
-rw-r--r--archaeological_finds/forms.py26
1 files changed, 22 insertions, 4 deletions
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(