diff options
Diffstat (limited to 'archaeological_operations/views.py')
| -rw-r--r-- | archaeological_operations/views.py | 18 | 
1 files changed, 8 insertions, 10 deletions
diff --git a/archaeological_operations/views.py b/archaeological_operations/views.py index 15fe0fce8..7ffdcf3e8 100644 --- a/archaeological_operations/views.py +++ b/archaeological_operations/views.py @@ -39,6 +39,7 @@ from ishtar_common.models import (      IshtarSiteProfile,      DocumentTemplate,  ) +from archaeological_context_records.models import ContextRecord  from ishtar_common.utils import put_session_message, check_rights_condition  from ishtar_common.views import (      gen_generate_doc, @@ -453,7 +454,10 @@ def operation_modify_parcels(request, pk):              for data in post_data:                  print(data) -                current_parcel = models.Parcel.objects.get(pk=data["pk"]) +                try: +                    current_parcel = models.Parcel.objects.get(pk=data["pk"]) +                except models.Parcel.DoesNotExist: +                    current_parcel = None                  if current_parcel:                      not_deleted_or_associated = True @@ -461,11 +465,10 @@ def operation_modify_parcels(request, pk):                          if key == "DELETE" and value == True:                              parcel_associated_by_context_record = models.ContextRecord.objects.filter(parcel=current_parcel.pk).all() -                            if len(parcel_associated_by_context_record) > 0: +                            if parcel_associated_by_context_record.count() > 0:                                  raise ValidationError("This parcel is associated with a context record. It can't be deleted.")                              else: -                                current_parcel.delete() # Need to delete parcel or just the relation ? -                                # operation.parcels.delete(current_parcel) # Is this work ? +                                current_parcel.delete()                              not_deleted_or_associated = False                      if not_deleted_or_associated: @@ -485,7 +488,6 @@ def operation_modify_parcels(request, pk):          else:              print("je passe ici")              formset = formset_class() -            formset_add = formset_class()      else:          data.update({              'form-TOTAL_FORMS': len(initial), @@ -493,18 +495,14 @@ def operation_modify_parcels(request, pk):              'form-MIN_NUM_FORMS': 0,              'form-MAX_NUM_FORMS': 100,          }) -        data_new = data.copy() -        data_new['form-TOTAL_FORMS'] = 1 -        formset = formset_class(initial=initial, data=data) #, prefix="modified_parcel" -        formset_add = formset_class(data=data_new) #, prefix="new_parcel" +        formset = formset_class(initial=initial, data=data)          for form in formset:# DEBUG              print(form.as_table())# DEBUG      return render(request, 'ishtar/forms/operation_modify_parcels.html', {          'formset': formset, -        'formset_add': formset_add,          "url": reverse("operation-parcels-modify", args=[pk])      })  | 
