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.py132
1 files changed, 62 insertions, 70 deletions
diff --git a/archaeological_operations/forms.py b/archaeological_operations/forms.py
index 6ba343508..b1f87c249 100644
--- a/archaeological_operations/forms.py
+++ b/archaeological_operations/forms.py
@@ -40,6 +40,7 @@ from ishtar_common.models import valid_id, Person, Town, \
organization_type_pk_lazy
from ishtar_common.wizards import MultiValueDict
+from bootstrap_datepicker.widgets import DateField
from archaeological_files.models import File
import models
@@ -49,7 +50,7 @@ from ishtar_common import widgets
from ishtar_common.forms import FinalForm, FormSet, get_now, \
reverse_lazy, get_form_selection, TableSelect, get_data_from_formset, \
- ManageOldType, CustomForm, FieldType
+ ManageOldType, IshtarForm, CustomForm, FieldType
from ishtar_common.forms_common import TownFormSet, SourceForm, SourceSelect, \
get_town_field, TownForm
@@ -66,7 +67,7 @@ class ParcelField(forms.MultiValueField):
return u"-".join(data_list)
-class ParcelForm(forms.Form):
+class ParcelForm(IshtarForm):
form_label = _("Parcels")
base_model = 'parcel'
associated_models = {'parcel': models.Parcel, 'town': models.Town, }
@@ -202,7 +203,7 @@ class ParcelForm(forms.Form):
return res
-class ParcelSelectionForm(forms.Form):
+class ParcelSelectionForm(IshtarForm):
_town = forms.ChoiceField(label=_("Town"), choices=(), required=False,
validators=[valid_id(models.Town)])
_parcel_selection = forms.CharField(
@@ -367,7 +368,7 @@ class ParcelFormSet(FormSet):
return self.cleaned_data
-class RecordRelationsForm(ManageOldType, forms.Form):
+class RecordRelationsForm(ManageOldType):
base_model = 'right_relation'
current_model = models.RelationType
current_related_model = models.Operation
@@ -525,14 +526,10 @@ class OperationSelect(TableSelect):
# max_length=20)
remains = forms.ChoiceField(label=_(u"Remains"), choices=[])
periods = forms.ChoiceField(label=_(u"Periods"), choices=[])
- start_before = forms.DateField(label=_(u"Started before"),
- widget=widgets.JQueryDate)
- start_after = forms.DateField(label=_(u"Started after"),
- widget=widgets.JQueryDate)
- end_before = forms.DateField(label=_(u"Ended before"),
- widget=widgets.JQueryDate)
- end_after = forms.DateField(label=_(u"Ended after"),
- widget=widgets.JQueryDate)
+ start_before = DateField(label=_(u"Started before"))
+ start_after = DateField(label=_(u"Started after"))
+ end_before = DateField(label=_(u"Ended before"))
+ end_after = DateField(label=_(u"Ended after"))
relation_types = forms.MultipleChoiceField(
label=_(u"Search within relations"), choices=[],
widget=forms.CheckboxSelectMultiple)
@@ -563,16 +560,16 @@ class OperationSelect(TableSelect):
args=['0', 'user']),
associated_model=Person),
validators=[valid_id(Person)])
- documentation_deadline_before = forms.DateField(
- label=_(u"Documentation deadline before"), widget=widgets.JQueryDate)
- documentation_deadline_after = forms.DateField(
- label=_(u"Documentation deadline after"), widget=widgets.JQueryDate)
+ documentation_deadline_before = DateField(
+ label=_(u"Documentation deadline before"))
+ documentation_deadline_after = DateField(
+ label=_(u"Documentation deadline after"))
documentation_received = forms.NullBooleanField(
label=_(u"Documentation received"))
- finds_deadline_before = forms.DateField(
- label=_(u"Finds deadline before"), widget=widgets.JQueryDate)
- finds_deadline_after = forms.DateField(
- label=_(u"Finds deadline after"), widget=widgets.JQueryDate)
+ finds_deadline_before = DateField(
+ label=_(u"Finds deadline before"))
+ finds_deadline_after = DateField(
+ label=_(u"Finds deadline after"))
finds_received = forms.NullBooleanField(
label=_(u"Finds received"))
@@ -618,13 +615,14 @@ class OperationSelect(TableSelect):
return ids
-class OperationFormSelection(forms.Form):
+class OperationFormSelection(IshtarForm):
+ SEARCH_AND_SELECT = True
form_label = _(u"Operation search")
associated_models = {'pk': models.Operation}
currents = {'pk': models.Operation}
pk = forms.IntegerField(
label="", required=False,
- widget=widgets.JQueryJqGrid(
+ widget=widgets.DataTable(
reverse_lazy('get-operation'), OperationSelect, models.Operation,
source_full=reverse_lazy('get-operation-full')),
validators=[valid_id(models.Operation)])
@@ -662,7 +660,7 @@ class OperationCodeInput(forms.TextInput):
return mark_safe(rendered + js)
-class OperationFormFileChoice(forms.Form):
+class OperationFormFileChoice(IshtarForm):
form_label = _(u"Associated file")
associated_models = {'associated_file': File, }
currents = {'associated_file': File}
@@ -673,7 +671,7 @@ class OperationFormFileChoice(forms.Form):
validators=[valid_id(File)], required=False)
-class OperationFormAbstract(CustomForm, forms.Form):
+class OperationFormAbstract(CustomForm, IshtarForm):
form_label = _(u"Abstract")
form_admin_name = _(u"Operation - 090 - Abstract")
form_slug = "operation-090-abstract"
@@ -692,7 +690,7 @@ PREVENTIVE_RESARCH = (('all', _('All')),
('research', _(u"Research")),)
-class DashboardForm(forms.Form):
+class DashboardForm(IshtarForm):
slicing = forms.ChoiceField(label=_("Slicing"), choices=SLICING,
required=False)
department_detail = forms.BooleanField(
@@ -706,10 +704,8 @@ class DashboardForm(forms.Form):
required=False)
operator = forms.ChoiceField(label=_("Operator"), choices=[],
required=False)
- after = forms.DateField(label=_(u"Date after"),
- widget=widgets.JQueryDate, required=False)
- before = forms.DateField(label=_(u"Date before"),
- widget=widgets.JQueryDate, required=False)
+ after = DateField(label=_(u"Date after"), required=False)
+ before = DateField(label=_(u"Date before"), required=False)
with_report = forms.BooleanField(label=_("With reports"), required=False)
with_finds = forms.BooleanField(label=_("With finds"), required=False)
@@ -762,7 +758,7 @@ class DashboardForm(forms.Form):
return fltr
-class OperationFormGeneral(ManageOldType, CustomForm, forms.Form):
+class OperationFormGeneral(CustomForm, ManageOldType):
form_label = _(u"General")
form_admin_name = _(u"Operation - 010 - General")
form_slug = "operation-010-general"
@@ -781,12 +777,12 @@ class OperationFormGeneral(ManageOldType, CustomForm, forms.Form):
max_length=500,
widget=OAWidget,
required=False)
+ operation_type = forms.ChoiceField(label=_(u"Operation type"),
+ choices=[])
common_name = forms.CharField(label=_(u"Generic name"), required=False,
max_length=500, widget=forms.Textarea)
address = forms.CharField(label=_(u"Address / Locality"), required=False,
max_length=500, widget=forms.Textarea)
- operation_type = forms.ChoiceField(label=_(u"Operation type"),
- choices=[])
year = forms.IntegerField(label=_(u"Year"),
initial=lambda: datetime.datetime.now().year,
validators=[validators.MinValueValidator(1000),
@@ -831,19 +827,15 @@ class OperationFormGeneral(ManageOldType, CustomForm, forms.Form):
label=_(u"Total surface (m2)"),
validators=[validators.MinValueValidator(0),
validators.MaxValueValidator(999999999)])
- start_date = forms.DateField(
- label=_(u"Start date"), required=False, widget=widgets.JQueryDate)
- excavation_end_date = forms.DateField(
- label=_(u"Excavation end date"), required=False,
- widget=widgets.JQueryDate)
- report_delivery_date = forms.DateField(
- label=_(u"Report delivery date"), required=False,
- widget=widgets.JQueryDate)
+ start_date = DateField(label=_(u"Start date"), required=False)
+ excavation_end_date = DateField(label=_(u"Excavation end date"),
+ required=False)
+ report_delivery_date = DateField(label=_(u"Report delivery date"),
+ required=False)
report_processing = forms.ChoiceField(label=_(u"Report processing"),
choices=[], required=False)
if settings.COUNTRY == 'fr':
- cira_date = forms.DateField(label=u"Date avis CIRA", required=False,
- widget=widgets.JQueryDate)
+ cira_date = DateField(label=u"Date avis CIRA", required=False)
negative_result = forms.NullBooleanField(
required=False, label=u"Résultat considéré comme négatif")
cira_rapporteur = forms.IntegerField(
@@ -858,14 +850,14 @@ class OperationFormGeneral(ManageOldType, CustomForm, forms.Form):
person_type_pk_lazy('head_scientist')]},
associated_model=Person, new=True),
validators=[valid_id(Person)], required=False)
- documentation_deadline = forms.DateField(
+ documentation_deadline = DateField(
label=_(u"Deadline for submission of the documentation"),
- required=False, widget=widgets.JQueryDate)
+ required=False)
documentation_received = forms.NullBooleanField(
required=False, label=_(u"Documentation received"))
- finds_deadline = forms.DateField(
+ finds_deadline = DateField(
label=_(u"Deadline for submission of the finds"), required=False,
- widget=widgets.JQueryDate)
+ )
finds_received = forms.NullBooleanField(
required=False, label=_(u"Finds received"))
@@ -920,7 +912,7 @@ class OperationFormGeneral(ManageOldType, CustomForm, forms.Form):
fields = OrderedDict()
ope_code = self.fields.pop('operation_code')
for key, value in self.fields.items():
- if key == 'year':
+ if key == 'old_code':
fields['operation_code'] = ope_code
fields[key] = value
self.fields = fields
@@ -1008,7 +1000,7 @@ OperationFormModifGeneral.associated_models = \
OperationFormModifGeneral.associated_models['associated_file'] = File
-class CollaboratorForm(CustomForm, forms.Form):
+class CollaboratorForm(CustomForm, IshtarForm):
form_label = _(u"Collaborators")
form_admin_name = _(u"Operation - 020 - Collaborators")
form_slug = "operation-020-collaborators"
@@ -1024,7 +1016,7 @@ class CollaboratorForm(CustomForm, forms.Form):
self.fields['collaborator'].widget.attrs['full-width'] = True
-class OperationFormPreventive(CustomForm, forms.Form):
+class OperationFormPreventive(CustomForm, IshtarForm):
form_label = _(u"Preventive informations - excavation")
form_admin_name = _(u"Operation - 033 - Preventive - Excavation")
form_slug = "operation-033-preventive-excavation"
@@ -1043,7 +1035,7 @@ class OperationFormPreventive(CustomForm, forms.Form):
validators.MaxValueValidator(100)])
-class OperationFormPreventiveDiag(CustomForm, forms.Form):
+class OperationFormPreventiveDiag(CustomForm, IshtarForm):
form_label = _("Preventive informations - diagnostic")
form_admin_name = _(u"Operation - 037 - Preventive - Diagnostic")
form_slug = "operation-037-preventive-diagnostic"
@@ -1058,7 +1050,7 @@ class OperationFormPreventiveDiag(CustomForm, forms.Form):
label=_(u"Prescription on geoarchaeological context"))
-class SelectedTownForm(forms.Form):
+class SelectedTownForm(IshtarForm):
form_label = _("Towns")
associated_models = {'town': Town}
town = forms.ChoiceField(label=_("Town"), choices=(),
@@ -1085,7 +1077,7 @@ TownFormset.form_admin_name = _(u"Operation - 040 - Towns (2)")
TownFormset.form_slug = "operation-040-towns-2"
-class SelectedParcelForm(forms.Form):
+class SelectedParcelForm(IshtarForm):
form_label = _("Parcels")
associated_models = {'parcel': models.Parcel}
parcel = forms.ChoiceField(
@@ -1146,9 +1138,9 @@ class RemainForm(CustomForm, ManageOldType, forms.Form):
base_model = 'remain'
associated_models = {'remain': models.RemainType}
- remain = forms.MultipleChoiceField(
- label=_("Remain type"), required=False, choices=[],
- widget=forms.CheckboxSelectMultiple)
+ remain = widgets.Select2MultipleField(
+ label=_(u"Remain type"), required=False
+ )
TYPES = [
FieldType('remain', models.RemainType, True),
@@ -1162,16 +1154,16 @@ class PeriodForm(CustomForm, ManageOldType, forms.Form):
base_model = 'period'
associated_models = {'period': models.Period}
- period = forms.MultipleChoiceField(
- label=_("Period"), required=False, choices=[],
- widget=forms.CheckboxSelectMultiple)
+ period = widgets.Select2MultipleField(
+ label=_(u"Period"), required=False
+ )
TYPES = [
FieldType('period', models.Period, True),
]
-class ArchaeologicalSiteForm(ManageOldType, forms.Form):
+class ArchaeologicalSiteForm(ManageOldType):
reference = forms.CharField(label=_(u"Reference"), max_length=20)
name = forms.CharField(label=_(u"Name"), max_length=200, required=False)
periods = forms.MultipleChoiceField(
@@ -1212,7 +1204,7 @@ class ArchaeologicalSiteForm(ManageOldType, forms.Form):
return item
-class ArchaeologicalSiteBasicForm(forms.Form):
+class ArchaeologicalSiteBasicForm(IshtarForm):
form_label = _("Archaeological site")
base_model = 'archaeological_site'
associated_models = {'archaeological_site': models.ArchaeologicalSite}
@@ -1234,7 +1226,7 @@ ArchaeologicalSiteFormSet.form_admin_name = _(
ArchaeologicalSiteFormSet.form_slug = "operation-030-archaeological-sites"
-class ArchaeologicalSiteSelectionForm(forms.Form):
+class ArchaeologicalSiteSelectionForm(IshtarForm):
form_label = _("Associated archaeological sites")
archaeological_sites = forms.IntegerField(
widget=widgets.JQueryAutoComplete(
@@ -1386,13 +1378,13 @@ class AdministrativeActOpeSelect(TableSelect):
return ids
-class AdministrativeActOpeFormSelection(forms.Form):
+class AdministrativeActOpeFormSelection(IshtarForm):
form_label = _("Administrative act search")
associated_models = {'pk': models.AdministrativeAct}
currents = {'pk': models.AdministrativeAct}
pk = forms.IntegerField(
label="", required=False,
- widget=widgets.JQueryJqGrid(
+ widget=widgets.DataTable(
reverse_lazy('get-administrativeactop'),
AdministrativeActOpeSelect, models.AdministrativeAct,
table_cols='TABLE_COLS_OPE'),
@@ -1406,7 +1398,7 @@ class AdministrativeActOpeFormSelection(forms.Form):
return cleaned_data
-class AdministrativeActOpeForm(CustomForm, ManageOldType, forms.Form):
+class AdministrativeActOpeForm(CustomForm, ManageOldType):
form_label = _("General")
form_admin_name = _(u"Operation - Administrative act - General")
form_slug = "operation-adminact-general"
@@ -1420,8 +1412,8 @@ class AdministrativeActOpeForm(CustomForm, ManageOldType, forms.Form):
# validators=[valid_id(Person)], required=False)
act_object = forms.CharField(label=_(u"Object"), max_length=300,
widget=forms.Textarea, required=False)
- signature_date = forms.DateField(
- label=_(u"Signature date"), initial=get_now, widget=widgets.JQueryDate)
+ signature_date = DateField(
+ label=_(u"Signature date"), initial=get_now)
if settings.COUNTRY == 'fr':
ref_sra = forms.CharField(label=u"Autre référence", max_length=15,
required=False)
@@ -1482,7 +1474,7 @@ class FinalAdministrativeActDeleteForm(FinalForm):
confirm_end_msg = _(u"Would you like to delete this administrative act?")
-class DocumentGenerationAdminActForm(forms.Form):
+class DocumentGenerationAdminActForm(IshtarForm):
_associated_model = models.AdministrativeAct
document_template = forms.ChoiceField(label=_("Template"), choices=[])
@@ -1529,7 +1521,7 @@ class DocumentGenerationAdminActForm(forms.Form):
return template.publish(c_object)
-class GenerateDocForm(forms.Form):
+class GenerateDocForm(IshtarForm):
form_label = _("Doc generation")
doc_generation = forms.ChoiceField(
required=False, choices=[], label=_(u"Generate the associated doc?"))
@@ -1552,13 +1544,13 @@ class AdministrativeActRegisterSelect(AdministrativeActOpeSelect):
self.fields['act_type'].help_text = models.ActType.get_help()
-class AdministrativeActRegisterFormSelection(forms.Form):
+class AdministrativeActRegisterFormSelection(IshtarForm):
form_label = pgettext_lazy('admin act register', u"Register")
associated_models = {'pk': models.AdministrativeAct}
currents = {'pk': models.AdministrativeAct}
pk = forms.IntegerField(
label="", required=False,
- widget=widgets.JQueryJqGrid(
+ widget=widgets.DataTable(
reverse_lazy('get-administrativeact'),
AdministrativeActRegisterSelect, models.AdministrativeAct,
table_cols='TABLE_COLS',