summaryrefslogtreecommitdiff
path: root/archaeological_operations
diff options
context:
space:
mode:
authorCefin <kevon@tuta.io>2022-02-07 16:22:00 +0100
committerÉtienne Loks <etienne.loks@iggdrasil.net>2022-12-12 12:21:00 +0100
commitdfafbbe9ac104da6cc676ab379659ca60e7fc02c (patch)
treea3f8e8b1d333a4bd8eff27341ae7fa50f8c728d9 /archaeological_operations
parent86ba69275973003b78639123750b482a16f402c4 (diff)
downloadIshtar-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.py15
-rw-r--r--archaeological_operations/views.py25
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])