diff options
| -rw-r--r-- | archaeological_operations/models.py | 2 | ||||
| -rw-r--r-- | archaeological_operations/templates/ishtar/forms/operation_modify_parcels.html | 80 | ||||
| -rw-r--r-- | archaeological_operations/urls.py | 2 | ||||
| -rw-r--r-- | archaeological_operations/views.py | 81 | 
4 files changed, 121 insertions, 44 deletions
diff --git a/archaeological_operations/models.py b/archaeological_operations/models.py index 5845a5c46..5c637aacf 100644 --- a/archaeological_operations/models.py +++ b/archaeological_operations/models.py @@ -1696,7 +1696,7 @@ class Operation(                      "fa fa-pencil",                      _("Parcels"),                      "", -                    False, +                    True,                  ),              ]          can_add_cr = self.can_do(request, "add_contextrecord") diff --git a/archaeological_operations/templates/ishtar/forms/operation_modify_parcels.html b/archaeological_operations/templates/ishtar/forms/operation_modify_parcels.html index 226f993d7..64619a6f4 100644 --- a/archaeological_operations/templates/ishtar/forms/operation_modify_parcels.html +++ b/archaeological_operations/templates/ishtar/forms/operation_modify_parcels.html @@ -1,8 +1,72 @@ -<form method="post"> -    {{ formset.management_form }} -    <table> -        {% for form in formset %} -            {{ form }} -        {% endfor %} -    </table> -</form> +{% load i18n inline_formset table_form %} + +<div class="modal-dialog modal-lg"> +    <div class="modal-content"> +        <div class="modal-header"> +            <h2>{{ formset.form_label }}</h2> +            <button type="button" class="close" data-dismiss="modal" aria-label="Close"> +                <span aria-hidden="true">×</span> +            </button> +        </div> +        <form enctype="multipart/form-data" action="{{url}}" method="post" id="{{ formset.form_slug }}"> +            {% csrf_token %} +            <div class="modal-body body-scroll"> +                <div class='form'> +                    {% block main_form %} +                        {{ formset.management_form }} +                        {{ formset_general.management_form }} +                        {% if formset.non_form_errors %} +                            {{ formset.non_form_errors }} +                        {% endif %} +                        <table> +                            {% for form in formset %} +                                <th></th> +                               <tr> +                                   <td>{{ form }}</td> +                               </tr>  +                            {% endfor %} +                        </table> + +                        <table> +                            {% for form_g in formset_general %} +                                <th></th> +                               <tr> +                                   <td>{{ form_g }}</td> +                               </tr>  +                            {% endfor %} +                        </table> +                    {% endblock %} +                </div> +            </div> +            <div class="modal-footer"> +                {% block footer %} +                    <button type="submit" id="submit_form" name='validate' +                        value="validate" class="btn btn-success"> +                        {% if action_name %} +                            {{ action_name }} +                        {% else %} +                            {% trans "Add/Modify" %} +                        {% endif %} +                    </button> +                    <button type="button" data-dismiss="modal" +                        aria-label="Close" class="btn btn-secondary"> +                        {% trans "Cancel" %} +                    </button> +                {% endblock %} +            </div> +        </form> +    </div> +</div> +<script type="text/javascript"> +    {% block js %} +    {% endblock %} +    $(document).ready(function(){ +        {% if slug %} +            qa_action_register("{{url}}", "{{slug}}"); +        {% else %} +            qa_action_register("{{url}}"); +        {% endif %} +    {% block js_ready %} +    {% endblock %} +    }); +</script> diff --git a/archaeological_operations/urls.py b/archaeological_operations/urls.py index 1efbff107..c6ecc3281 100644 --- a/archaeological_operations/urls.py +++ b/archaeological_operations/urls.py @@ -299,7 +299,7 @@ urlpatterns = [      ),      url(          r"^operation-parcels-modify/(?P<pk>.+)/$", -        views.ParcelFormView.as_view(), +        views.operation_modify_parcels,          name="operation-parcels-modify",      ),      url( diff --git a/archaeological_operations/views.py b/archaeological_operations/views.py index 77d0c8f24..c3442b5b5 100644 --- a/archaeological_operations/views.py +++ b/archaeological_operations/views.py @@ -31,7 +31,12 @@ from django.forms import formset_factory  from archaeological_operations import models  from archaeological_operations import forms -from archaeological_operations.forms import SelectedParcelForm, ParcelFormSet, SelectedParcelFormSet +from archaeological_operations.forms import ( +    SelectedParcelForm, +    ParcelFormSet, +    SelectedParcelFormSet, +    SelectedParcelGeneralFormSet, +)  from archaeological_operations import wizards  from ishtar_common.forms import ClosingDateFormSelection, FinalForm, FinalDeleteForm  from ishtar_common.models import ( @@ -408,40 +413,48 @@ def operation_delete(request, pk):      return redirect(reverse(wizard_url, kwargs={"step": "final-" + wizard_url})) -#  def operation_modify_parcels(request, pk): -#      for form in SelectedParcelFormSet(): -#          print(form) -#      formset = '' -#      if request.method == 'POST': -#          formset = SelectedParcelFormSet(request.POST, request.FILES) -#          print(formset) -#          if formset.is_valid(): -#              for form in formset: -#                  print(form) -#          else: -#              formset = SelectedParcelFormSet() -#          return render(request, 'ishtar/forms/operation_modify_parcels.html', {'formset': formset}) - - -class ParcelFormView(QAItemForm): -    template_name = 'ishtar/forms/operation_modify_parcels.html' -    form_class = SelectedParcelFormSet -    base_url = "operation-parcels-modify" -    model = models.Operation - -    def get_form_kwargs(self): -        kwargs = super(ParcelFormView, self).get_form_kwargs() -        kwargs["user"] = self.request.user -        return kwargs - -    def form_valid(self, form): -        form.save() -        return HttpResponseRedirect(reverse("success")) +def operation_modify_parcels(request, pk): +    formset = None +    parcels = models.Parcel.objects.filter(operation=pk).all() -    def get_context_data(self, **kwargs): -        data = super(ParcelFormView, self).get_context_data(**kwargs) -        data["action_name"] = _("Modify parcels") -        return data +    if request.method == 'POST': #TODO +        formset = SelectedParcelFormSet(request.POST, request.FILES) +        if formset.is_valid(): +            pass +        else: +            formset = SelectedParcelFormSet +    else: +        data = [{ +            'parcels': parcel, +            'selected_town': parcel.town +        } for parcel in parcels] +        formset = SelectedParcelFormSet(initial=data) +        formset_general = SelectedParcelGeneralFormSet(initial=data) +    return render(request, 'ishtar/forms/operation_modify_parcels.html', { +        'formset': formset, +        'formset_general': formset_general, +    }) + + +#  class ParcelFormView(QAItemForm): +#      template_name = 'ishtar/forms/operation_modify_parcels.html' +#      form_class = SelectedParcelFormSet +#      base_url = "operation-parcels-modify" +#      model = models.Operation +# +#      def get_form_kwargs(self): +#          kwargs = super(ParcelFormView, self).get_form_kwargs() +#          kwargs["user"] = self.request.user +#          return kwargs +# +#      def form_valid(self, form): +#          form.save() +#          return HttpResponseRedirect(reverse("success")) +# +#      def get_context_data(self, **kwargs): +#          data = super(ParcelFormView, self).get_context_data(**kwargs) +#          data["action_name"] = _("Modify parcels") +#          return data  # archaeological sites  | 
