summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--archaeological_files/wizards.py2
-rw-r--r--archaeological_files_pdl/forms.py14
-rw-r--r--archaeological_files_pdl/views.py20
-rw-r--r--archaeological_files_pdl/wizards.py2
-rw-r--r--archaeological_operations/wizards.py10
5 files changed, 36 insertions, 12 deletions
diff --git a/archaeological_files/wizards.py b/archaeological_files/wizards.py
index 2279fef4f..3ccd6e3d9 100644
--- a/archaeological_files/wizards.py
+++ b/archaeological_files/wizards.py
@@ -38,7 +38,7 @@ class FileWizard(OperationWizard):
model = models.File
object_parcel_type = 'associated_file'
parcel_step_key = 'parcels-'
- town_step_key = 'towns-'
+ town_step_keys = ['towns-']
wizard_done_window = reverse_lazy('show-file')
'''
diff --git a/archaeological_files_pdl/forms.py b/archaeological_files_pdl/forms.py
index 21ed4238a..824254d37 100644
--- a/archaeological_files_pdl/forms.py
+++ b/archaeological_files_pdl/forms.py
@@ -93,6 +93,20 @@ class FileFormPlanning(forms.Form):
required=False, validators=[validators.MinValueValidator(0),
validators.MaxValueValidator(999999999)])
+class FileFormResearchAddress(forms.Form):
+ form_label = _(u"Address")
+ associated_models = {'main_town':models.Town}
+ main_town = get_advanced_town_field(required=True)
+ locality = forms.CharField(label=_(u"Locality"), max_length=100,
+ required=False)
+ address = forms.CharField(label=_(u"Address (number/street)"),
+ widget=forms.Textarea(
+ attrs={"placeholder":_(u"Number/street")}),
+ required=False,
+ )
+ postal_code = forms.CharField(label=_(u"Postal code"), max_length=10,
+ required=False)
+
class FileFormGeneralContractor(forms.Form):
form_label = _(u"General contractor")
associated_models = {'general_contractor':models.Person}
diff --git a/archaeological_files_pdl/views.py b/archaeological_files_pdl/views.py
index c8e1d1498..a319954b9 100644
--- a/archaeological_files_pdl/views.py
+++ b/archaeological_files_pdl/views.py
@@ -30,27 +30,33 @@ from archaeological_operations.forms import ParcelFormSet
from archaeological_files import models
+
+file_creation_wizard_is_preventive = is_preventive('general-file_creation',
+ models.FileType, type_key='file_type')
+file_creation_wizard_is_not_preventive = is_not_preventive(
+ 'general-file_creation', models.FileType, type_key='file_type')
file_creation_wizard = FileWizard.as_view([
('general-file_creation', forms.FileFormGeneral),
('preventivetype-file_creation', forms.FileFormPreventiveType),
('preventiveplanning-file_creation', forms.FileFormPlanning),
+ ('researchaddress-file_creation', forms.FileFormResearchAddress),
('parcelspdl-file_creation', ParcelFormSet),
('generalcontractor-file_creation',
forms.FileFormGeneralContractor),
('planningservice-file_creation',
forms.FileFormPlanningService),
+ ('research-file_creation', ref_forms.FileFormResearch),
('instruction-file_creation',
forms.FileFormInstruction),
- ('research-file_creation', ref_forms.FileFormResearch),
('final-file_creation', ref_forms.FinalForm)],
label=_(u"New file"),
condition_dict={
- 'preventivetype-file_creation':\
- is_preventive('general-file_creation', models.FileType,
- type_key='file_type'),
- 'research-file_creation':\
- is_not_preventive('general-file_creation', models.FileType,
- type_key='file_type'),
+ 'preventivetype-file_creation':file_creation_wizard_is_preventive,
+ 'preventiveplanning-file_creation':file_creation_wizard_is_preventive,
+ 'generalcontractor-file_creation':file_creation_wizard_is_preventive,
+ 'planningservice-file_creation':file_creation_wizard_is_preventive,
+ 'researchaddress-file_creation':file_creation_wizard_is_not_preventive,
+ 'research-file_creation':file_creation_wizard_is_not_preventive
},
url_name='file_creation',)
diff --git a/archaeological_files_pdl/wizards.py b/archaeological_files_pdl/wizards.py
index 6f688d7ca..0a4ace7c8 100644
--- a/archaeological_files_pdl/wizards.py
+++ b/archaeological_files_pdl/wizards.py
@@ -21,7 +21,7 @@ from archaeological_files.wizards import FileWizard as BaseFileWizard
class FileWizard(BaseFileWizard):
parcel_step_key = 'parcelspdl-'
- town_step_key = 'preventiveplanning-'
+ town_step_keys = ['preventiveplanning-', 'researchaddress-']
town_input_id = 'main_town'
multi_towns = False
wizard_templates = {
diff --git a/archaeological_operations/wizards.py b/archaeological_operations/wizards.py
index 7fdc26b12..01f15886d 100644
--- a/archaeological_operations/wizards.py
+++ b/archaeological_operations/wizards.py
@@ -39,7 +39,7 @@ class OperationWizard(Wizard):
model = models.Operation
object_parcel_type = 'operation'
parcel_step_key = 'parcelsgeneral-'
- town_step_key = 'towns-' # step contening the current(s) town(s)
+ town_step_keys = ['towns-'] # step contening the current(s) town(s)
town_input_id = 'town' # input id of the current(s) town(s)
multi_towns = True # true if current town are multi
wizard_done_window = reverse_lazy('show-operation')
@@ -139,10 +139,14 @@ class OperationWizard(Wizard):
if file:
data['PARCELS'] = self.get_available_parcels(file)
else:
- town_form_key = self.town_step_key + self.url_name
- town_ids = self.session_get_value(town_form_key,
+ town_ids = []
+ for town_step_key in self.town_step_keys:
+ town_form_key = town_step_key + self.url_name
+ town_ids = self.session_get_value(town_form_key,
self.town_input_id,
multi=self.multi_towns) or []
+ if town_ids:
+ break
if not self.multi_towns and town_ids:
town_ids = [town_ids]
towns = []