summaryrefslogtreecommitdiff
path: root/archaeological_operations/forms.py
diff options
context:
space:
mode:
Diffstat (limited to 'archaeological_operations/forms.py')
-rw-r--r--archaeological_operations/forms.py73
1 files changed, 54 insertions, 19 deletions
diff --git a/archaeological_operations/forms.py b/archaeological_operations/forms.py
index 82f41c089..79e265e93 100644
--- a/archaeological_operations/forms.py
+++ b/archaeological_operations/forms.py
@@ -41,7 +41,7 @@ from ishtar_common import widgets
from ishtar_common.forms import FinalForm, FormSet, \
reverse_lazy, get_data_from_formset, QAForm, CustomFormSearch,\
ManageOldType, IshtarForm, CustomForm, FieldType, FormHeader, \
- GeoItemSelect, LockForm, MultiSearchForm, DocumentItemSelect
+ GeoItemSelect, LockForm, MultiSearchForm, DocumentItemSelect, DatingSelect
from ishtar_common.forms_common import TownFormSet, get_town_field, TownForm
from ishtar_common.models import valid_id, valid_ids, Person, Town, \
DocumentTemplate, Organization, get_current_profile, \
@@ -1173,7 +1173,7 @@ class OperationDeletionForm(FinalForm):
#########
-class SiteSelect(GeoItemSelect):
+class SiteSelect(GeoItemSelect, DatingSelect):
_model = models.ArchaeologicalSite
form_admin_name = _("Archaeological site - 001 - Search")
form_slug = "archaeological_site-001-search"
@@ -1186,23 +1186,48 @@ class SiteSelect(GeoItemSelect):
name = forms.CharField(label=_("Name"), max_length=200, required=False)
other_reference = forms.CharField(label=_("Other reference"),
max_length=200, required=False)
- types = widgets.Select2MultipleField(label=_("Types"), required=False)
+ types = widgets.Select2SimpleField(label=_("Types"), required=False,
+ modal="modal-advanced-search")
+ heritage_interest = forms.ChoiceField(label=_("Heritage interests"), choices=[],
+ required=False)
+ actors = forms.IntegerField(
+ label=_("Actors"), required=False,
+ widget=widgets.JQueryAutoComplete(
+ reverse_lazy('autocomplete-qualifiedbiographicalnote')))
+ collaborators = forms.IntegerField(
+ label=_("Collaborators"), required=False,
+ widget=widgets.JQueryAutoComplete(
+ reverse_lazy('autocomplete-person')))
+ protection_id = forms.CharField(label=_("Protection ID"), required=False)
+ protection_date = DateField(label=_("Protection date"), required=False)
+ heritage_environmental_protections = forms.ChoiceField(
+ label=_("Heritage and environmental protections"), choices=[],
+ required=False)
+ details_on_protection = forms.CharField(label=_("Details on protection"),
+ required=False)
discoverer = forms.IntegerField(
- widget=widgets.JQueryAutoComplete(reverse_lazy('autocomplete-person'), associated_model=Person),
+ widget=widgets.JQueryAutoComplete(reverse_lazy('autocomplete-person'),
+ associated_model=Person),
label=_("Discoverer"))
- periods = forms.ChoiceField(label=_("Periods"), choices=[], required=False)
- remains = forms.ChoiceField(label=_("Remains"), choices=[], required=False)
- cultural_attributions = forms.ChoiceField(
- label=_("Cultural attribution"), choices=[], required=False)
- discovery_status = forms.ChoiceField(label=_("Discovery status"), choices=[], required=False)
- current_status = forms.ChoiceField(label=_("Current status"), choices=[], required=False)
- nature_of_site = forms.ChoiceField(label=_("Nature of site"), choices=[], required=False)
- interpretation_level = forms.ChoiceField(label=_("Interpretation level"), choices=[], required=False)
+ periods = widgets.Select2SimpleField(label=_("Periods"), required=False,
+ modal="modal-advanced-search")
+ remains = widgets.Select2SimpleField(label=_("Remains"), required=False,
+ modal="modal-advanced-search")
+ cultural_attributions = widgets.Select2SimpleField(
+ label=_("Cultural attributions"), required=False, modal="modal-advanced-search")
+ discovery_status = forms.ChoiceField(label=_("Discovery status"), choices=[],
+ required=False)
+ current_states = forms.ChoiceField(label=_("Current states"), required=False)
+ nature_of_site = forms.ChoiceField(label=_("Nature of site"), choices=[],
+ required=False)
+ interpretation_level = forms.ChoiceField(label=_("Interpretation level"),
+ choices=[], required=False)
+
towns = get_town_field()
towns__areas = forms.ChoiceField(label=_("Areas"), choices=[])
- description = forms.CharField(label=_("Description"), max_length=200, required=False)
- public_description = forms.CharField(label=_("Public description"), max_length=200, required=False)
- comment = forms.CharField(label=_("Comment"), max_length=200, required=False)
+ description = forms.CharField(label=_("Description"), required=False)
+ public_description = forms.CharField(label=_("Public description"), required=False)
+ comment = forms.CharField(label=_("Comment"), required=False)
top_operation = forms.IntegerField(
label=_("Top operation"), required=False,
widget=widgets.JQueryAutoComplete(
@@ -1241,17 +1266,26 @@ class SiteSelect(GeoItemSelect):
discovery_area = forms.CharField(
label=_("Discovery area"), max_length=200,
required=False)
+
+ editors = forms.IntegerField(
+ label=_("Editors"), required=False,
+ widget=widgets.JQueryAutoComplete(
+ reverse_lazy('autocomplete-author')))
+
TYPES = [
FieldType('periods', models.Period),
FieldType('remains', models.RemainType),
- FieldType("types", models.SiteType, is_multiple=True),
- FieldType('current_status', models.SiteCurrentStatusType),
+ FieldType("types", models.SiteType),
+ FieldType('current_states', models.SiteCurrentStatusType),
FieldType('discovery_status', models.SiteDiscoveryStatusType),
FieldType('cultural_attributions', models.CulturalAttributionType),
FieldType('nature_of_site', models.NatureOfSiteType),
FieldType('interpretation_level', models.InterpretationLevelType),
FieldType('towns__areas', Area),
- ] + GeoItemSelect.TYPES
+ FieldType('heritage_interest', models.HeritageInterestType),
+ FieldType('heritage_environmental_protections',
+ models.HeritageAndEnvironmentalProtectionType),
+ ] + GeoItemSelect.TYPES + DatingSelect.TYPES
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
@@ -1265,6 +1299,7 @@ class SiteSelect(GeoItemSelect):
'affmar_number',
'drassm_number',
))
+ self._reorder_period_fields("comment")
class SiteFormSelection(LockForm, CustomFormSearch):
@@ -1343,7 +1378,7 @@ class SiteForm(CustomForm, ManageOldType):
required=False)
actor = widgets.Select2MultipleField(
model=QualifiedBiographicalNote, label=_("Actors"), required=False,
- remote=True, new=True)
+ remote=True, new=True, remote_filter='qualification_type__S-A')
collaborator = widgets.Select2MultipleField(
model=Person, label=_("Collaborators"), required=False,
remote=True, new=True)