diff options
| -rw-r--r-- | archaeological_files/wizards.py | 2 | ||||
| -rw-r--r-- | archaeological_files_pdl/forms.py | 14 | ||||
| -rw-r--r-- | archaeological_files_pdl/views.py | 20 | ||||
| -rw-r--r-- | archaeological_files_pdl/wizards.py | 2 | ||||
| -rw-r--r-- | archaeological_operations/wizards.py | 10 | 
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 = [] | 
