diff options
author | Cefin <kevon@tuta.io> | 2022-02-07 16:22:00 +0100 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2022-12-12 12:21:00 +0100 |
commit | dfafbbe9ac104da6cc676ab379659ca60e7fc02c (patch) | |
tree | a3f8e8b1d333a4bd8eff27341ae7fa50f8c728d9 /archaeological_operations | |
parent | 86ba69275973003b78639123750b482a16f402c4 (diff) | |
download | Ishtar-dfafbbe9ac104da6cc676ab379659ca60e7fc02c.tar.bz2 Ishtar-dfafbbe9ac104da6cc676ab379659ca60e7fc02c.zip |
Operation - Parcels - Modify: code cleaning and issue with test #5227
Diffstat (limited to 'archaeological_operations')
-rw-r--r-- | archaeological_operations/tests.py | 15 | ||||
-rw-r--r-- | archaeological_operations/views.py | 25 |
2 files changed, 21 insertions, 19 deletions
diff --git a/archaeological_operations/tests.py b/archaeological_operations/tests.py index 738061ab1..a4ac40376 100644 --- a/archaeological_operations/tests.py +++ b/archaeological_operations/tests.py @@ -1680,18 +1680,20 @@ class ParcelTest(ImportTest, TestCase): self.assertContains(response, parcel_2.parcel_number) data = { + "form-0-pk": parcel_1.pk, "form-0-year": 2021, "form-0-section": "SCT1", "form-0-parcel_number": "001", - "form-0-town": town_2, + "form-0-town": town_2.pk, + "form-1-pk": parcel_2.pk, "form-1-year": 2021, "form-1-section": "SCT1", "form-1-parcel_number": "002", - "form-1-town": town_2, + "form-1-town": town_2.pk, "form-2-year": 2011, "form-2-section": "XXX", "form-2-parcel_number": "003", - "form-2-town": town_2, + "form-2-town": town_2.pk, } post_response = c.post("/operation-parcels-modify/" + str(operation.pk) + "/", data) @@ -1704,6 +1706,9 @@ class ParcelTest(ImportTest, TestCase): self.assertContains(post_response, "003") self.assertContains(post_response, "XXX") + # parcels = models.Parcel.objects.all() + # self.assertEqual(parcels.count(), 3) + data["form-0-DELETE"] = True post_response_deletion = c.post("/operation-parcels-modify/" + str(operation.pk) + "/", data) @@ -1713,7 +1718,9 @@ class ParcelTest(ImportTest, TestCase): response = c.get(reverse("operation-parcels-modify", kwargs={"pk": operation.pk})) self.assertContains(response, "001", count=0) - + deleted_parcel = models.Parcel.objects.filter(pk=parcel_1.pk) + print(deleted_parcel) + self.assertEqual(deleted_parcel.count(), 0) def create_orga(user): orga_type, created = OrganizationType.objects.get_or_create(txt_idx="operator") diff --git a/archaeological_operations/views.py b/archaeological_operations/views.py index f5d1c514f..647f4b485 100644 --- a/archaeological_operations/views.py +++ b/archaeological_operations/views.py @@ -410,7 +410,6 @@ def operation_delete(request, pk): def operation_modify_parcels(request, pk): - # TODO: add quick add form formset_class = SelectedParcelGeneralFormSet operation = models.Operation.objects.get(pk=pk) parcels = models.Parcel.objects.filter(operation=pk).all() @@ -439,22 +438,18 @@ def operation_modify_parcels(request, pk): 'form-MAX_NUM_FORMS': 100, } - if request.method == 'POST': #TODO + 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.update(data) formset = formset_class(new_data) - for form in formset: #DEBUG - print(form.errors) #DEBUG - + print(new_data) if formset.is_valid(): - print(formset.cleaned_data) #DEBUG - post_data = formset.cleaned_data - - for data in post_data: + for data in formset.cleaned_data: if (not data.get('parcel_number') or not data.get('section')) and \ not data.get('public_domain'): continue + current_parcel = None if data.get("pk"): try: @@ -479,26 +474,26 @@ def operation_modify_parcels(request, pk): current_parcel.section = data.get("section") current_parcel.parcel_number = data.get("parcel_number") current_parcel.town = models.Town.objects.get(pk=int(data.get("town"))) + current_parcel.public_domain = data.get("public_domain") current_parcel.save() else: parcel_to_add = models.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"))) + town = models.Town.objects.get(pk=int(data.get("town"))), + public_domain = data.get("public_domain") ) operation.parcels.add(parcel_to_add) return redirect(reverse("operation-parcels-modify", args=[pk])) else: print(formset.errors) print(formset.non_form_errors()) - print("je passe ici") else: formset = formset_class(initial=initial, data=data) - - for form in formset:# DEBUG - print(form.as_table())# DEBUG - +# + # for form in formset: + # print(form.as_table()) return render(request, 'ishtar/forms/operation_modify_parcels.html', { 'formset': formset, "url": reverse("operation-parcels-modify", args=[pk]) |