diff options
| -rw-r--r-- | archaeological_operations/forms.py | 4 | ||||
| -rw-r--r-- | archaeological_operations/templates/ishtar/forms/operation_modify_parcels.html | 11 | ||||
| -rw-r--r-- | archaeological_operations/views.py | 18 | 
3 files changed, 10 insertions, 23 deletions
| diff --git a/archaeological_operations/forms.py b/archaeological_operations/forms.py index 11829fd47..2151aaee0 100644 --- a/archaeological_operations/forms.py +++ b/archaeological_operations/forms.py @@ -1150,13 +1150,13 @@ class SelectedParcelForm(IshtarForm):  SelectedParcelFormSet = formset_factory(SelectedParcelForm, can_delete=True, -                                        formset=ParcelFormSet) +                                        formset=ParcelFormSet, extra=3)  SelectedParcelFormSet.form_label = _("Parcels")  SelectedParcelFormSet.form_admin_name = _("Operation - 050 - Parcels")  SelectedParcelFormSet.form_slug = "operation-050-parcels"  SelectedParcelGeneralFormSet = formset_factory(ParcelForm, can_delete=True, -                                               formset=ParcelFormSet) +                                               formset=ParcelFormSet, extra=3)  SelectedParcelGeneralFormSet.form_label = _("Parcels")  SelectedParcelGeneralFormSet.form_admin_name = _(      "Operation - 050 - Parcels (2)") diff --git a/archaeological_operations/templates/ishtar/forms/operation_modify_parcels.html b/archaeological_operations/templates/ishtar/forms/operation_modify_parcels.html index cb526ee79..6128150be 100644 --- a/archaeological_operations/templates/ishtar/forms/operation_modify_parcels.html +++ b/archaeological_operations/templates/ishtar/forms/operation_modify_parcels.html @@ -31,17 +31,6 @@                                  </td>                              </tr>                          </table> -                        <h3>Add a new parcel</h3> -                        {% if formset_add.non_form_errors %} -                            <div class="alert alert-danger" role="alert"> -                                {{ formset_add.non_form_errors }} -                            </div> -                        {% endif %} -                        <table> -                            {% for form in formset_add %} -                                {{form}} -                            {% endfor %} -                        </table>                      {% endblock %}                  </div>              </div> 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])      }) | 
