From 1ddb738376757581fc8ae4bb8207656953176a92 Mon Sep 17 00:00:00 2001 From: Cefin Date: Mon, 7 Feb 2022 10:58:24 +0100 Subject: Operation - Parcels - Modify: adjustments par two #5227 --- archaeological_operations/views.py | 25 +++++++++---------------- 1 file changed, 9 insertions(+), 16 deletions(-) (limited to 'archaeological_operations/views.py') diff --git a/archaeological_operations/views.py b/archaeological_operations/views.py index 7ffdcf3e8..016a43560 100644 --- a/archaeological_operations/views.py +++ b/archaeological_operations/views.py @@ -433,7 +433,7 @@ def operation_modify_parcels(request, pk): data = { 'TOWNS': available_towns, - 'form-TOTAL_FORMS': len(initial), + 'form-TOTAL_FORMS': len(initial) + 3, 'form-INITIAL_FORMS': 0, 'form-MIN_NUM_FORMS': 0, 'form-MAX_NUM_FORMS': 100, @@ -443,21 +443,22 @@ def operation_modify_parcels(request, pk): new_data = dict(request.POST) 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) #, prefix="modified_parcel" - # new_parcel_formset = formset_class(new_data) #, prefix="new_parcel + formset = formset_class(new_data) for form in formset: #DEBUG print(form.errors) #DEBUG if formset.is_valid(): print(formset.cleaned_data) #DEBUG - post_data = [form.cleaned_data for form in formset] + post_data = formset.cleaned_data for data in post_data: print(data) - try: - current_parcel = models.Parcel.objects.get(pk=data["pk"]) - except models.Parcel.DoesNotExist: - current_parcel = None + current_parcel = None + if data.get("pk"): + try: + current_parcel = models.Parcel.objects.get(pk=data.get("pk")) + except models.Parcel.DoesNotExist: + pass if current_parcel: not_deleted_or_associated = True @@ -487,15 +488,7 @@ def operation_modify_parcels(request, pk): operation.parcels.add(parcel_to_add) else: print("je passe ici") - formset = formset_class() else: - data.update({ - 'form-TOTAL_FORMS': len(initial), - 'form-INITIAL_FORMS': 0, - 'form-MIN_NUM_FORMS': 0, - 'form-MAX_NUM_FORMS': 100, - }) - formset = formset_class(initial=initial, data=data) for form in formset:# DEBUG -- cgit v1.2.3