diff options
5 files changed, 46 insertions, 26 deletions
diff --git a/archaeological_operations/models.py b/archaeological_operations/models.py index 72d997474..5845a5c46 100644 --- a/archaeological_operations/models.py +++ b/archaeological_operations/models.py @@ -1691,12 +1691,12 @@ class Operation( True, ), ( - reverse("operation-parcels-qa-modify", args=[self.pk]), + reverse("operation-parcels-modify", args=[self.pk]), _("Modify Parcels"), "fa fa-pencil", + _("Parcels"), "", - "", - True, + False, ), ] 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 new file mode 100644 index 000000000..226f993d7 --- /dev/null +++ b/archaeological_operations/templates/ishtar/forms/operation_modify_parcels.html @@ -0,0 +1,8 @@ +<form method="post"> + {{ formset.management_form }} + <table> + {% for form in formset %} + {{ form }} + {% endfor %} + </table> +</form> diff --git a/archaeological_operations/templates/ishtar/forms/qa_operation_parcels_modify.html b/archaeological_operations/templates/ishtar/forms/qa_operation_parcels_modify.html deleted file mode 100644 index 9592c2487..000000000 --- a/archaeological_operations/templates/ishtar/forms/qa_operation_parcels_modify.html +++ /dev/null @@ -1,10 +0,0 @@ -<form class="form-horizontal" method="POST" action=""> - {% csrf_token %} - {{ formset.management_form }} - {{% for form in formset %}} - <div class="col-4"> - <div class=col-2> - <label>{{form.name.label}}</label> - </div> - </div> - {{% endfor %}} diff --git a/archaeological_operations/urls.py b/archaeological_operations/urls.py index e861bf21c..1efbff107 100644 --- a/archaeological_operations/urls.py +++ b/archaeological_operations/urls.py @@ -298,11 +298,9 @@ urlpatterns = [ name="operation-administrativeact-document", ), url( - r"^operation-parcels-qa-modify/(?P<pks>[0-9-]+)?/$", - check_rights(["change_operation", "change_own_operation"])( - views.ParcelFormView.as_view() - ), - name="operation-parcels-qa-modify", + r"^operation-parcels-modify/(?P<pk>.+)/$", + views.ParcelFormView.as_view(), + name="operation-parcels-modify", ), url( r"^operation-qa-bulk-update/(?P<pks>[0-9-]+)?/$", diff --git a/archaeological_operations/views.py b/archaeological_operations/views.py index 30fce7a0b..77d0c8f24 100644 --- a/archaeological_operations/views.py +++ b/archaeological_operations/views.py @@ -27,9 +27,11 @@ from django.shortcuts import render, redirect from django.urls import reverse from django.views.generic import RedirectView from ishtar_common.utils import ugettext_lazy as _, pgettext_lazy +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 import wizards from ishtar_common.forms import ClosingDateFormSelection, FinalForm, FinalDeleteForm from ishtar_common.models import ( @@ -406,18 +408,40 @@ 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): - model = models.Parcel - form_class = forms.SelectedParcelFormSet + 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 parcel_operation_modify(request, pk): -# SelectedParcelFormSet = formset_factory( -# SelectedParcelForm, -# can_delete=True, -# formset=ParcelFormSet -# ) + def get_context_data(self, **kwargs): + data = super(ParcelFormView, self).get_context_data(**kwargs) + data["action_name"] = _("Modify parcels") + return data # archaeological sites |