diff options
Diffstat (limited to 'ishtar/furnitures/forms.py')
-rw-r--r-- | ishtar/furnitures/forms.py | 80 |
1 files changed, 58 insertions, 22 deletions
diff --git a/ishtar/furnitures/forms.py b/ishtar/furnitures/forms.py index 6beec3744..b21f801a6 100644 --- a/ishtar/furnitures/forms.py +++ b/ishtar/furnitures/forms.py @@ -894,18 +894,18 @@ class FileFormPreventive(forms.Form): reception_date = forms.DateField(label=_(u"Reception date"), initial=get_now, widget=widgets.JQueryDate) -def is_preventive(form_name, file_type_key='file_type'): +def is_preventive(form_name, model, type_key='file_type', key=''): def func(self, request, storage): if storage.prefix not in request.session or \ 'step_data' not in request.session[storage.prefix] or \ form_name not in request.session[storage.prefix]['step_data'] or\ - form_name + '-' + file_type_key not in \ + form_name + '-' + type_key not in \ request.session[storage.prefix]['step_data'][form_name]: return False try: - file_type = int(request.session[storage.prefix]['step_data']\ - [form_name][form_name+'-'+file_type_key]) - return models.FileType.is_preventive(file_type) + type = int(request.session[storage.prefix]['step_data']\ + [form_name][form_name+'-'+type_key]) + return model.is_preventive(type, key) except ValueError: return False return func @@ -918,7 +918,7 @@ file_creation_wizard = FileWizard([ ('preventive-file_creation', FileFormPreventive), ('final-file_creation', FinalForm)], condition_list={ - 'preventive-file_creation':is_preventive('general-file_creation') +'preventive-file_creation':is_preventive('general-file_creation', models.FileType) }, url_name='file_creation',) @@ -931,7 +931,8 @@ file_modification_wizard = FileWizard([ ('preventive-file_modification', FileFormPreventive), ('final-file_modification', FinalForm)], condition_list={ - 'preventive-file_modification':is_preventive('general-file_modification') +'preventive-file_modification':is_preventive('general-file_modification', + models.FileType) }, url_name='file_modification',) @@ -1255,11 +1256,11 @@ class OperationFormReference(forms.Form): currents = {'associated_file':models.File} hidden_year = forms.IntegerField(widget=forms.HiddenInput) hidden_ope = forms.BooleanField(widget=forms.HiddenInput, required=False) - operation_code = forms.IntegerField(label=u"Operation code") + operation_code = forms.IntegerField(label=_(u"Operation code")) if settings.COUNTRY == 'fr': code_patriarche = forms.IntegerField(label=u"Code PATRIARCHE", required=False) - code_dracar = forms.CharField(label=_(u"Code DRACAR"), required=False, + code_dracar = forms.CharField(label=u"Code DRACAR", required=False, validators=[validators.MaxLengthValidator(10)]) def clean(self): cleaned_data = self.cleaned_data @@ -1277,6 +1278,23 @@ class OperationFormReference(forms.Form): 'last_val':max_val}) return cleaned_data +class OperationFormPreventive(forms.Form): + form_label = _("Preventive informations - excavation") + cost = forms.IntegerField(label=_(u"Cost"), required=False) + if settings.COUNTRY == 'fr': + fnap_financing = forms.FloatField(required=False, + label=u"Pourcentage de financement FNAP", + validators=[validators.MinValueValidator(0), + validators.MaxValueValidator(100)]) + +class OperationFormPreventiveDiag(forms.Form): + form_label = _("Preventive informations - diagnostic") + if settings.COUNTRY == 'fr': + zoning_prescription = forms.NullBooleanField(required=False) + large_area_prescription = forms.NullBooleanField(required=False) + geoarchaeological_context_prescription = forms.NullBooleanField( + required=False) + class SelectedTownForm(forms.Form): form_label = _("Towns") associated_models = {'town':models.Town} @@ -1362,22 +1380,40 @@ RemainFormSet = formset_factory(RemainForm, can_delete=True, RemainFormSet.form_label = _("Remain types") operation_creation_wizard = OperationWizard([ - ('general-operation_creation', OperationFormGeneral), - ('refs-operation_creation', OperationFormReference), - ('towns-operation_creation', SelectedTownFormSet), - ('parcels-operation_creation', SelectedParcelFormSet), - ('remains-operation_creation', RemainFormSet), - ('final-operation_creation', FinalForm)], + ('general-operation_creation', OperationFormGeneral), + ('refs-operation_creation', OperationFormReference), + ('preventive-operation_creation', OperationFormPreventive), + ('preventivediag-operation_creation', OperationFormPreventiveDiag), + ('towns-operation_creation', SelectedTownFormSet), + ('parcels-operation_creation', SelectedParcelFormSet), + ('remains-operation_creation', RemainFormSet), + ('final-operation_creation', FinalForm)], + condition_list={ +'preventive-operation_creation':is_preventive('general-operation_creation', + models.OperationType, 'operation_type', 'prev_excavation'), +'preventivediag-operation_creation':is_preventive('general-operation_creation', + models.OperationType, 'operation_type', 'arch_diagnostic') + }, url_name='operation_creation',) operation_modification_wizard = OperationWizard([ - ('selec-operation_modification', OperationFormSelection), - ('general-operation_modification', OperationFormGeneral), - ('refs-operation_modification', OperationFormReference), - ('towns-operation_modification', SelectedTownFormSet), - ('parcels-operation_modification', SelectedParcelFormSet), - ('remains-operation_modification', RemainFormSet), - ('final-operation_modification', FinalForm)], + ('selec-operation_modification', OperationFormSelection), + ('general-operation_modification', OperationFormGeneral), + ('refs-operation_modification', OperationFormReference), + ('preventive-operation_modification', OperationFormPreventive), + ('preventivediag-operation_modification', OperationFormPreventiveDiag), + ('towns-operation_modification', SelectedTownFormSet), + ('parcels-operation_modification', SelectedParcelFormSet), + ('remains-operation_modification', RemainFormSet), + ('final-operation_modification', FinalForm)], + condition_list={ +'preventive-operation_modification':is_preventive( + 'general-operation_modification', models.OperationType, + 'operation_type', 'prev_excavation'), +'preventivediag-operation_modification':is_preventive( + 'general-operation_modification', models.OperationType, + 'operation_type', 'arch_diagnostic') + }, url_name='operation_modification',) class OperationDateFormSelection(forms.Form): |