diff options
| -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) | 
