summaryrefslogtreecommitdiff
path: root/ishtar/furnitures/forms.py
diff options
context:
space:
mode:
Diffstat (limited to 'ishtar/furnitures/forms.py')
-rw-r--r--ishtar/furnitures/forms.py80
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):