]> git.atlas4tour.it Git - pia_atlas.git/commitdiff
- Bug fix modifica percorso
authorCostantino Vitale <costantino.vitale@dyrecta.com>
Wed, 19 Oct 2022 08:25:25 +0000 (10:25 +0200)
committerCostantino Vitale <costantino.vitale@dyrecta.com>
Wed, 19 Oct 2022 08:25:25 +0000 (10:25 +0200)
sistema/templates/add_mod_percorso.html
sistema/views.py

index cc46e579b74537e2c1351cf900599bab5c524119..27220396ebb0703f7dc7c6de17bd05d3015947d4 100644 (file)
             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 %}
             }
 
             })
                 .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) {
index db2dd3668be2dee97183f74d41e2452f4ba52293..b6b60deebf18a4201092554bd0f17f7e3807c731 100644 (file)
@@ -280,7 +280,33 @@ class PercorsoView(View):#PermissionRequiredMixin
             for err in form.errors.as_data():
                 errors += '<li>' + err + '</li>'
 
-            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 += '<li>' + err + '</li>'
+
+            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)