diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2019-09-14 09:44:45 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2019-09-14 09:44:45 +0200 |
commit | eb58fad63f8f41b275303b3c3e9e5fc75c963d80 (patch) | |
tree | 9fb4fcfff8387ac1c91707aab55180d560bf1485 /archaeological_files/wizards.py | |
parent | 89e94b9e2e18ce0f4a9572258b85e401463eb0ea (diff) | |
download | Ishtar-eb58fad63f8f41b275303b3c3e9e5fc75c963d80.tar.bz2 Ishtar-eb58fad63f8f41b275303b3c3e9e5fc75c963d80.zip |
Archaeological files: multiple del - redir
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): |