diff options
Diffstat (limited to 'archaeological_operations/views.py')
-rw-r--r-- | archaeological_operations/views.py | 25 |
1 files changed, 9 insertions, 16 deletions
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 |