From 83d530a9482b87350fd6a085dd1b8bc5c6fc9b64 Mon Sep 17 00:00:00 2001 From: Costantino Vitale Date: Wed, 19 Oct 2022 10:25:25 +0200 Subject: [PATCH] - Bug fix modifica percorso --- sistema/templates/add_mod_percorso.html | 8 +++---- sistema/views.py | 32 ++++++++++++++++++++++--- 2 files changed, 33 insertions(+), 7 deletions(-) diff --git a/sistema/templates/add_mod_percorso.html b/sistema/templates/add_mod_percorso.html index cc46e57..2722039 100644 --- a/sistema/templates/add_mod_percorso.html +++ b/sistema/templates/add_mod_percorso.html @@ -211,17 +211,17 @@ selectList.className = "form-select mt-1"; li.appendChild(selectList); - var option = document.createElement("option"); if(edit){ + var option = document.createElement("option"); option.value = id; option.text = nome; selectList.appendChild(option); } else { {% for poi in poi_list %} + var option = document.createElement("option"); option.value = {{ poi.id }}; - option.text = '{{ poi.nome|safe }}'; + option.innerHTML = '{{ poi.nome|safe }}'; selectList.appendChild(option); - console.log(selectList) {% endfor %} } @@ -364,7 +364,7 @@ }) .done(function (response) { Swal.fire('', "Operazione effettuata con successo", "success").then((value) => { - window.location.href('{% url 'sistema:percorsi_list' %}'); + location.href = '{% url 'sistema:percorsi_list' %}'; }); }) .fail(function (jqXHR, textStatus, errorThrown) { diff --git a/sistema/views.py b/sistema/views.py index db2dd36..b6b60de 100644 --- a/sistema/views.py +++ b/sistema/views.py @@ -280,7 +280,33 @@ class PercorsoView(View):#PermissionRequiredMixin for err in form.errors.as_data(): errors += '
  • ' + err + '
  • ' - msg = 'Errore nell\'inserimento del tour operator. Controlla il form.' + errors + msg = 'Errore nell\'inserimento del percorso. Controlla il form.' + errors + return JsonResponse({'response': msg}, status=status.HTTP_500_INTERNAL_SERVER_ERROR) + + def mod_percorso(self, request): + form = PercorsoForm(data=json.loads(request.POST.get('percorso_form')), instance=Percorso.objects.get(pk=int(self.request.POST.get('pk_percorso_form')))) + if form.is_valid(): + form.save() + + tappe = Tappa.objects.filter(percorso_id=int(self.request.POST.get('pk_percorso_form'))) + tappe.delete() + + partenza = request.POST.get('partenza') + arrivo = request.POST.get('arrivo') + tappe = request.POST.getlist('tappe[]') + + if partenza and arrivo and tappe: + Tappa.insert_tappe_percorso(partenza, arrivo, tappe, form) + return JsonResponse({'response': 'Percorso modificato con successo'}, status=status.HTTP_200_OK) + else: + return JsonResponse({'response': 'Attenzione! Dati informazioni mancanti in merito al percorso'}, status=status.HTTP_500_INTERNAL_SERVER_ERROR) + + else: + errors = '' + for err in form.errors.as_data(): + errors += '
  • ' + err + '
  • ' + + msg = 'Errore nell\'inserimento del percorso. Controlla il form.' + errors return JsonResponse({'response': msg}, status=status.HTTP_500_INTERNAL_SERVER_ERROR) def get(self, request, *args, **kwargs): @@ -297,8 +323,8 @@ class PercorsoView(View):#PermissionRequiredMixin 'form': PercorsoForm()}) def post(self, request, *args, **kwargs): - if 'mod' in request.POST: - print('modifica') + if request.POST.get('method') == 'mod': + self.mod_percorso(request) else: self.add_percorso(request) -- 2.43.0