diff options
Diffstat (limited to 'archaeological_operations/forms.py')
-rw-r--r-- | archaeological_operations/forms.py | 132 |
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', |