summaryrefslogtreecommitdiff
path: root/archaeological_warehouse/forms.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2019-02-13 16:10:41 +0100
committerÉtienne Loks <etienne.loks@iggdrasil.net>2019-02-13 16:10:41 +0100
commit86666680e1a074ee8fbbf88ff0191a509f5eb810 (patch)
treebf872a432739b1864d1a404e60dab26db55ea4c0 /archaeological_warehouse/forms.py
parent886d14724dc9b720b8ff5c4eb89ac4ec730a27f7 (diff)
downloadIshtar-86666680e1a074ee8fbbf88ff0191a509f5eb810.tar.bz2
Ishtar-86666680e1a074ee8fbbf88ff0191a509f5eb810.zip
Container search: more fields
Diffstat (limited to 'archaeological_warehouse/forms.py')
-rw-r--r--archaeological_warehouse/forms.py79
1 files changed, 69 insertions, 10 deletions
diff --git a/archaeological_warehouse/forms.py b/archaeological_warehouse/forms.py
index 0ac3ddeae..b6bff3d5b 100644
--- a/archaeological_warehouse/forms.py
+++ b/archaeological_warehouse/forms.py
@@ -23,18 +23,24 @@ import datetime
from django import forms
from django.conf import settings
from django.forms.formsets import formset_factory
-from django.utils.safestring import mark_safe
from django.utils.translation import ugettext_lazy as _
from ishtar_common.models import Person, valid_id
-from archaeological_finds.models import TreatmentType, FindBasket
+from archaeological_operations.models import ArchaeologicalSite
+from archaeological_context_records.models import ContextRecord
+from archaeological_finds.models import TreatmentType, FindBasket, \
+ MaterialType, ObjectType, IntegrityType, RemarkabilityType, \
+ ConservatoryState, AlterationType, AlterationCauseType, \
+ TreatmentEmergencyType
import models
+
from ishtar_common import widgets
+from archaeological_operations.widgets import OAWidget
from bootstrap_datepicker.widgets import DatePicker
+
from ishtar_common.forms import name_validator, reverse_lazy, \
- get_form_selection, TableSelect, ManageOldType, FinalForm, FormSet, \
+ get_form_selection, ManageOldType, FinalForm, FormSet, \
CustomForm, FieldType, HistorySelect
-from ishtar_common.forms_common import get_image_help
from archaeological_finds.forms import FindMultipleFormSelection, \
SelectFindBasketForm
@@ -263,12 +269,65 @@ class ContainerSelect(HistorySelect):
container_type = forms.ChoiceField(label=_(u"Container type"), choices=[])
reference = forms.CharField(label=_(u"Ref."))
- def __init__(self, *args, **kwargs):
- super(ContainerSelect, self).__init__(*args, **kwargs)
- self.fields['container_type'].choices = \
- models.ContainerType.get_types()
- self.fields['container_type'].help_text = \
- models.ContainerType.get_help()
+ code_patriarche = forms.IntegerField(label=_(u"Code PATRIARCHE"),
+ widget=OAWidget)
+ archaeological_sites = forms.IntegerField(
+ label=_("Archaeological site (attached to the operation)"),
+ widget=widgets.JQueryAutoComplete(
+ reverse_lazy('autocomplete-archaeologicalsite'),
+ associated_model=ArchaeologicalSite),
+ validators=[valid_id(ArchaeologicalSite)])
+ archaeological_sites_context_record = forms.IntegerField(
+ label=_("Archaeological site (attached to the context record)"),
+ widget=widgets.JQueryAutoComplete(
+ reverse_lazy('autocomplete-archaeologicalsite'),
+ associated_model=ArchaeologicalSite),
+ validators=[valid_id(ArchaeologicalSite)])
+ context_record = forms.IntegerField(
+ label=_("Context record"),
+ widget=widgets.JQueryAutoComplete(
+ reverse_lazy('autocomplete-contextrecord'),
+ associated_model=ContextRecord),
+ validators=[valid_id(ContextRecord)])
+ description = forms.CharField(label=_(u"Find - Description"))
+ material_types = forms.IntegerField(
+ label=_(u"Material type"),
+ widget=widgets.JQueryAutoComplete(
+ reverse_lazy('autocomplete-materialtype'),
+ associated_model=MaterialType),
+ )
+ object_types = forms.IntegerField(
+ label=_(u"Object type"),
+ widget=widgets.JQueryAutoComplete(
+ reverse_lazy('autocomplete-objecttype'),
+ associated_model=ObjectType),
+ )
+ integrities = forms.ChoiceField(label=_(u"Integrity / interest"),
+ choices=[])
+ remarkabilities = forms.ChoiceField(label=_(u"Remarkability"),
+ choices=[])
+ conservatory_state = forms.ChoiceField(label=_(u"Conservatory state"),
+ choices=[])
+ alterations = forms.ChoiceField(
+ label=_(u"Alteration"), choices=[])
+ alteration_causes = forms.ChoiceField(
+ label=_(u"Alteration cause"), choices=[])
+ preservation_to_considers = forms.ChoiceField(
+ choices=[], label=_(u"Preservation type"))
+ treatment_emergency = forms.ChoiceField(
+ choices=[], label=_(u"Treatment emergency")
+ )
+
+ TYPES = [
+ FieldType('integrities', IntegrityType),
+ FieldType('remarkabilities', RemarkabilityType),
+ FieldType('conservatory_state', ConservatoryState),
+ FieldType('alterations', AlterationType),
+ FieldType('alteration_causes', AlterationCauseType),
+ FieldType('preservation_to_considers', TreatmentType),
+ FieldType('treatment_emergency', TreatmentEmergencyType),
+ FieldType('container_type', models.ContainerType)
+ ]
ContainerFormSelection = get_form_selection(