summaryrefslogtreecommitdiff
path: root/archaeological_files/wizards.py
diff options
context:
space:
mode:
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
commit34b80cd9b735aaae35859c972b75c3e9220cc8a4 (patch)
tree9fb4fcfff8387ac1c91707aab55180d560bf1485 /archaeological_files/wizards.py
parent73ba1638f580f6968126f4939a1f4495710915cb (diff)
downloadIshtar-34b80cd9b735aaae35859c972b75c3e9220cc8a4.tar.bz2
Ishtar-34b80cd9b735aaae35859c972b75c3e9220cc8a4.zip
Archaeological files: multiple del - redir
Diffstat (limited to 'archaeological_files/wizards.py')
-rw-r--r--archaeological_files/wizards.py42
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):