diff options
Diffstat (limited to 'archaeological_files/wizards.py')
| -rw-r--r-- | archaeological_files/wizards.py | 42 | 
1 files changed, 17 insertions, 25 deletions
| diff --git a/archaeological_files/wizards.py b/archaeological_files/wizards.py index 9f1f59a4b..c1aaf9037 100644 --- a/archaeological_files/wizards.py +++ b/archaeological_files/wizards.py @@ -20,15 +20,14 @@  from django.conf import settings  from django.core.exceptions import ObjectDoesNotExist  from django.db.models import Max -from django.shortcuts import render  from django.utils.translation import ugettext_lazy as _  from ishtar_common.forms import reverse_lazy -from ishtar_common.wizards import ClosingWizard, SearchWizard +from ishtar_common.wizards import ClosingWizard, SearchWizard, \ +    MultipleDeletionWizard  from archaeological_operations.wizards import OperationWizard,\      OperationAdministrativeActWizard -from archaeological_operations.models import AdministrativeAct, Parcel, \ -    Operation +from archaeological_operations.models import AdministrativeAct, Parcel  from . import models @@ -42,6 +41,7 @@ class FileWizard(OperationWizard):      parcel_step_key = 'parcels-'      town_step_keys = ['towns-']      wizard_done_window = reverse_lazy('show-file') +    redirect_url = "file_modification"      def get_extra_model(self, dct, m2m, form_list):          dct = super(FileWizard, self).get_extra_model(dct, m2m, form_list) @@ -110,34 +110,26 @@ class FileModificationWizard(FileWizard):      modification = True +FILE_FIELDS = ['year', 'numeric_reference', 'internal_reference', +               'file_type', 'in_charge', 'general_contractor', 'creation_date', +               'reception_date', 'total_surface', 'total_developed_surface', +               'address', 'address_complement', 'postal_code', 'comment'] + +  class FileClosingWizard(ClosingWizard):      model = models.File -    fields = ['year', 'numeric_reference', 'internal_reference', -              'file_type', 'in_charge', 'general_contractor', 'creation_date', -              'reception_date', 'total_surface', 'total_developed_surface', -              'address', 'address_complement', 'postal_code', 'comment'] +    fields = FILE_FIELDS      if settings.COUNTRY == 'fr':          fields += ['saisine_type', 'permit_reference']      fields += ['towns'] -class FileDeletionWizard(FileClosingWizard): -    def get_formated_datas(self, forms): -        datas = super(FileDeletionWizard, self).get_formated_datas(forms) -        datas.append((_("Associated operations"), [])) -        for operation in Operation.objects.filter( -                associated_file=self.current_obj).all(): - -            if operation.end_date: -                datas[-1][1].append(('', str(operation))) -        return datas - -    def done(self, form_list, **kwargs): -        obj = self.get_current_object() -        for operation in Operation.objects.filter(associated_file=obj).all(): -            operation.delete() -        obj.delete() -        return render(self.request, 'ishtar/wizard/wizard_delete_done.html', {}) +class FileDeletionWizard(MultipleDeletionWizard, FileClosingWizard): +    model = models.File +    redirect_url = "file_deletion" +    fields = FILE_FIELDS +    wizard_templates = { +        'final-file_deletion': 'ishtar/wizard/wizard_file_deletion.html'}  class FileAdministrativeActWizard(OperationAdministrativeActWizard): | 
