diff options
author | Cefin <kevon@tuta.io> | 2022-02-18 10:19:06 +0100 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2022-12-12 12:21:00 +0100 |
commit | fe3a9614d49c9fad1a2a9faea7cba5cc22941b27 (patch) | |
tree | f984f53291c86504eea17f98a544e6141e0b373e /archaeological_operations/views.py | |
parent | 09d49688cfcd9b064cddc6828f5b42a924d0f589 (diff) | |
download | Ishtar-fe3a9614d49c9fad1a2a9faea7cba5cc22941b27.tar.bz2 Ishtar-fe3a9614d49c9fad1a2a9faea7cba5cc22941b27.zip |
Operation - Parcels - Modify: adding verification for selection_form #5227
Diffstat (limited to 'archaeological_operations/views.py')
-rw-r--r-- | archaeological_operations/views.py | 35 |
1 files changed, 24 insertions, 11 deletions
diff --git a/archaeological_operations/views.py b/archaeological_operations/views.py index 0864bd1f9..65ad0e2ae 100644 --- a/archaeological_operations/views.py +++ b/archaeological_operations/views.py @@ -452,18 +452,31 @@ def operation_modify_parcels(request, pk): if parcel_selection: selected_town = new_data.get("_town") _parcels = parse_parcels(parcel_selection) - print("Parcel_Selection ", _parcels) - print("Selected_Town ", selected_town) + existant_parcel = None + for p in _parcels: - print(p) - added_parcel = models.Parcel.objects.create( - year = int(p["year"]), - section = p["section"], - parcel_number = p["parcel_number"], - town = models.Town.objects.get(pk=int(selected_town)), - # public_domain = parcel["public_domain"] - ) - operation.parcels.add(added_parcel) + p_year = p["year"] + p_section = p["section"] + p_parcel_number = p["parcel_number"] + p_town = models.Town.objects.get(pk=int(selected_town)) + + try: + existant_parcel = models.Parcel.objects.get( + section=p_section, parcel_number=p_parcel_number, town=p_town + ) + except models.Parcel.DoesNotExist: + pass + + if existant_parcel is None: + added_parcel = models.Parcel.objects.create( + section = p_section, + parcel_number = p_parcel_number, + town = p_town, + ) + if p_year: + added_parcel.year = p_year + added_parcel.save() + operation.parcels.add(added_parcel) return redirect(reverse("operation-parcels-modify", args=[pk])) print(new_data) |