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 | |
| parent | 86ba69275973003b78639123750b482a16f402c4 (diff) | |
| download | Ishtar-dfafbbe9ac104da6cc676ab379659ca60e7fc02c.tar.bz2 Ishtar-dfafbbe9ac104da6cc676ab379659ca60e7fc02c.zip | |
Operation - Parcels - Modify: code cleaning and issue with test  #5227
| -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]) | 
