summaryrefslogtreecommitdiff
path: root/archaeological_files/wizards.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2021-03-19 11:12:38 +0100
committerÉtienne Loks <etienne.loks@iggdrasil.net>2021-03-19 11:12:38 +0100
commitfd397e0752cac5328074db7aff20b6e840537fd3 (patch)
treee4410852c29e154dc6e32154e4d95375df95cbf5 /archaeological_files/wizards.py
parent29e86ff4778cb80f62091d185eefc82d32285ffc (diff)
downloadIshtar-fd397e0752cac5328074db7aff20b6e840537fd3.tar.bz2
Ishtar-fd397e0752cac5328074db7aff20b6e840537fd3.zip
Format - black: files
Diffstat (limited to 'archaeological_files/wizards.py')
-rw-r--r--archaeological_files/wizards.py108
1 files changed, 65 insertions, 43 deletions
diff --git a/archaeological_files/wizards.py b/archaeological_files/wizards.py
index c259effbe..1538a984a 100644
--- a/archaeological_files/wizards.py
+++ b/archaeological_files/wizards.py
@@ -23,10 +23,11 @@ from django.db.models import Max
from ishtar_common.utils import ugettext_lazy as _
from ishtar_common.forms import reverse_lazy
-from ishtar_common.wizards import ClosingWizard, SearchWizard, \
- MultipleDeletionWizard
-from archaeological_operations.wizards import OperationWizard,\
- OperationAdministrativeActWizard
+from ishtar_common.wizards import ClosingWizard, SearchWizard, MultipleDeletionWizard
+from archaeological_operations.wizards import (
+ OperationWizard,
+ OperationAdministrativeActWizard,
+)
from archaeological_operations.models import AdministrativeAct, Parcel
from . import models
@@ -37,26 +38,26 @@ class FileSearch(SearchWizard):
class FileWizard(OperationWizard):
model = models.File
- object_parcel_type = 'associated_file'
- parcel_step_key = 'parcels-'
- town_step_keys = ['towns-']
- wizard_done_window = reverse_lazy('show-file')
+ object_parcel_type = "associated_file"
+ 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)
- if not dct.get('numeric_reference'):
- current_ref = models.File.objects.filter(year=dct['year'])\
- .aggregate(Max('numeric_reference'))["numeric_reference__max"]
- dct['numeric_reference'] = current_ref and current_ref + 1 or 1
+ if not dct.get("numeric_reference"):
+ current_ref = models.File.objects.filter(year=dct["year"]).aggregate(
+ Max("numeric_reference")
+ )["numeric_reference__max"]
+ dct["numeric_reference"] = current_ref and current_ref + 1 or 1
return dct
def done(self, form_list, **kwargs):
"""
Save parcels and make numeric_reference unique
"""
- r = super(FileWizard, self).done(form_list, return_object=True,
- **kwargs)
+ r = super(FileWizard, self).done(form_list, return_object=True, **kwargs)
if type(r) not in (list, tuple) or len(r) != 2:
return r
obj, res = r
@@ -64,9 +65,13 @@ class FileWizard(OperationWizard):
if not self.modification:
numeric_reference = obj.numeric_reference
changed = False
- while obj.__class__.objects.filter(
- numeric_reference=numeric_reference,
- year=obj.year).exclude(pk=obj.pk).count():
+ while (
+ obj.__class__.objects.filter(
+ numeric_reference=numeric_reference, year=obj.year
+ )
+ .exclude(pk=obj.pk)
+ .count()
+ ):
numeric_reference += 1
changed = True
if changed:
@@ -74,33 +79,35 @@ class FileWizard(OperationWizard):
obj.save()
obj.parcels.clear()
for form in form_list:
- if not hasattr(form, 'prefix') \
- or not form.prefix.startswith(self.parcel_step_key) \
- or not hasattr(form, 'forms'):
+ if (
+ not hasattr(form, "prefix")
+ or not form.prefix.startswith(self.parcel_step_key)
+ or not hasattr(form, "forms")
+ ):
continue
for frm in form.forms:
if not frm.is_valid():
continue
dct = frm.cleaned_data.copy()
- if 'parcel' in dct:
+ if "parcel" in dct:
try:
- parcel = Parcel.objects.get(pk=dct['parcel'])
+ parcel = Parcel.objects.get(pk=dct["parcel"])
setattr(parcel, self.object_parcel_type, obj)
parcel.save()
except (ValueError, ObjectDoesNotExist):
continue
continue
try:
- dct['town'] = models.Town.objects.get(pk=int(dct['town']))
+ dct["town"] = models.Town.objects.get(pk=int(dct["town"]))
except (ValueError, ObjectDoesNotExist, KeyError):
continue
- dct['associated_file'], dct['operation'] = None, None
+ dct["associated_file"], dct["operation"] = None, None
dct[self.object_parcel_type] = obj
- if 'DELETE' in dct:
- dct.pop('DELETE')
+ if "DELETE" in dct:
+ dct.pop("DELETE")
parcel = Parcel.objects.filter(**dct).count()
if not parcel:
- dct['history_modifier'] = self.request.user
+ dct["history_modifier"] = self.request.user
parcel = Parcel(**dct)
parcel.save()
return res
@@ -110,18 +117,30 @@ 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']
+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 = FILE_FIELDS
- if settings.COUNTRY == 'fr':
- fields += ['saisine_type', 'permit_reference']
- fields += ['towns']
+ if settings.COUNTRY == "fr":
+ fields += ["saisine_type", "permit_reference"]
+ fields += ["towns"]
class FileDeletionWizard(MultipleDeletionWizard, FileClosingWizard):
@@ -129,24 +148,28 @@ class FileDeletionWizard(MultipleDeletionWizard, FileClosingWizard):
redirect_url = "file_deletion"
fields = FILE_FIELDS
wizard_templates = {
- 'final-file_deletion': 'ishtar/wizard/wizard_file_deletion.html'}
+ "final-file_deletion": "ishtar/wizard/wizard_file_deletion.html"
+ }
class FileAdministrativeActWizard(OperationAdministrativeActWizard):
model = models.File
- current_obj_slug = 'administrativeactfile'
- ref_object_key = 'associated_file'
+ current_obj_slug = "administrativeactfile"
+ ref_object_key = "associated_file"
def get_reminder(self):
- form_key = 'selec-' + self.url_name
- if self.url_name.endswith('_administrativeactfile'):
+ form_key = "selec-" + self.url_name
+ if self.url_name.endswith("_administrativeactfile"):
# modification and deletion are suffixed with '_modification'
# and '_deletion' so it is creation
file_id = self.session_get_value(form_key, "pk")
try:
return (
- (_("Archaeological file"),
- str(models.File.objects.get(pk=file_id))),)
+ (
+ _("Archaeological file"),
+ str(models.File.objects.get(pk=file_id)),
+ ),
+ )
except models.File.DoesNotExist:
return
else:
@@ -155,8 +178,7 @@ class FileAdministrativeActWizard(OperationAdministrativeActWizard):
admin = AdministrativeAct.objects.get(pk=admin_id)
if not admin.associated_file:
return
- return ((_("Archaeological file"),
- str(admin.associated_file)),)
+ return ((_("Archaeological file"), str(admin.associated_file)),)
except AdministrativeAct.DoesNotExist:
return