From dee51462642460801b57b6c896695f48d07c6acb Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Tue, 2 Aug 2022 15:39:18 +0200 Subject: Files: fix parcel form - general contractor check - remove parcel formset in wizard --- archaeological_files/views.py | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) (limited to 'archaeological_files/views.py') diff --git a/archaeological_files/views.py b/archaeological_files/views.py index 061085710..cbe1a9f96 100644 --- a/archaeological_files/views.py +++ b/archaeological_files/views.py @@ -53,7 +53,8 @@ from archaeological_operations.wizards import OperationWizard from archaeological_operations.views import operation_creation_wizard from ishtar_common.forms_common import TownFormset -from archaeological_operations.forms import FinalAdministrativeActDeleteForm, SelectedParcelGeneralFormSet +from archaeological_operations.forms import FinalAdministrativeActDeleteForm, \ + SelectedParcelGeneralFormSet from ishtar_common.forms import ClosingDateFormSelection from . import forms, models @@ -140,7 +141,6 @@ file_creation_wizard = wizards.FileWizard.as_view( [ ("general-file_creation", forms.FileFormGeneral), ("towns-file_creation", TownFormset), - ("parcels-file_creation", forms.ParcelFormset), ("preventive-file_creation", forms.FileFormPreventive), ("research-file_creation", forms.FileFormResearch), ("final-file_creation", forms.FinalForm), @@ -162,7 +162,6 @@ file_modification_wizard = wizards.FileModificationWizard.as_view( ("selec-file_modification", forms.FileFormSelection), ("general-file_modification", forms.FileFormGeneralRO), ("towns-file_modification", TownFormset), - ("parcels-file_modification", forms.ParcelFormset), ("preventive-file_modification", forms.FileFormPreventive), ("research-file_modification", forms.FileFormResearch), ("final-file_modification", forms.FinalForm), @@ -346,11 +345,12 @@ def file_add_operation(request, pk, current_right=None): PARCEL_FORMSET_EXTRA_FORM = 3 + def file_modify_parcels(request, pk): formset_class = SelectedParcelGeneralFormSet file = models.File.objects.get(pk=pk) parcels = Parcel.objects.filter(associated_file=pk).all() - available_towns = [] + available_towns = [(town.pk, str(town)) for town in file.towns.all()] initial = [] for parcel in parcels: @@ -375,7 +375,7 @@ def file_modify_parcels(request, pk): if request.method == 'POST': new_data = dict(request.POST) - new_data = {k: new_data[k][0] for k in new_data} # convert POST to classic dict + new_data = {k: new_data[k][0] for k in new_data} # convert POST to classic dict new_data.update(data) formset = formset_class(new_data) parcel_selection = new_data.get('_parcel_selection', None) @@ -383,7 +383,6 @@ def file_modify_parcels(request, pk): if parcel_selection: selected_town = new_data.get("_town") _parcels = parse_parcels(parcel_selection) - existant_parcel = None for p in _parcels: p_year = p["year"] @@ -391,7 +390,8 @@ def file_modify_parcels(request, pk): p_parcel_number = p["parcel_number"] p_town = models.Town.objects.get(pk=int(selected_town)) q = Parcel.objects.filter( - section=p_section, parcel_number=p_parcel_number, town=p_town, associated_file=file + section=p_section, parcel_number=p_parcel_number, town=p_town, + associated_file=file ) nb = q.count() # parcels_who_cant_be_deleted = 0 @@ -416,7 +416,7 @@ def file_modify_parcels(request, pk): added_parcel.save() # if parcels_who_cant_be_deleted > 0: # raise ValidationError(str(parcels_who_cant_be_deleted) + " parcels could not be created because there already exists.") - return redirect(reverse("operation-parcels-modify", args=[pk])) + return redirect(reverse("file-parcels-modify", args=[pk])) if formset.is_valid(): for data in formset.cleaned_data: @@ -451,13 +451,13 @@ def file_modify_parcels(request, pk): current_parcel.public_domain = data.get("public_domain") current_parcel.save() else: - parcel_to_add = Parcel.objects.create( - year = data.get("year"), - section = data.get("section"), - parcel_number = data.get("parcel_number"), - town = models.Town.objects.get(pk=int(data.get("town"))), - public_domain = data.get("public_domain"), - associated_file = file, + Parcel.objects.create( + year=data.get("year"), + section=data.get("section"), + parcel_number=data.get("parcel_number"), + town=models.Town.objects.get(pk=int(data.get("town"))), + public_domain=data.get("public_domain"), + associated_file=file, ) return redirect(reverse("file-parcels-modify", args=[pk])) else: -- cgit v1.2.3