]> git.atlas4tour.it Git - pia_atlas.git/commitdiff
no modifiche Vincenzo
authorValeria Vitti <valeria.vitti@dyrecta.com>
Fri, 18 Oct 2024 13:39:20 +0000 (15:39 +0200)
committerValeria Vitti <valeria.vitti@dyrecta.com>
Fri, 18 Oct 2024 13:39:20 +0000 (15:39 +0200)
sistema/templates/base.html
sistema/templates/percorsi_cliente_home.html
sistema/views.py

index 22fe7e792fb5811ed008bf14cbbd24b4b9617957..70d69a2db0a1e779f1448707d90db3fad47a302c 100644 (file)
                             <i class="fas fa-route" style="padding: 6px 28px 7px 6px;"></i><span>Percorsi</span></a>
                     </li>
 
-                   <li class="dropdown voce_menu"> <!--  id="tuoi-percorsi" -->
-                        <a href="{% url 'sistema:tuoi_percorsi_list' %}" class="nav-link">
-                            <i class="fas fa-route" style="padding: 6px 28px 7px 6px;"></i><span>Tuoi Percorsi</span></a>
-                    </li>
+<!--   VINCENZO                <li class="dropdown voce_menu"> &lt;!&ndash;  id="tuoi-percorsi" &ndash;&gt;-->
+<!--    VINCENZO                    <a href="{% url 'sistema:tuoi_percorsi_list' %}" class="nav-link">-->
+<!--     VINCENZO                       <i class="fas fa-route" style="padding: 6px 28px 7px 6px;"></i><span>Tuoi Percorsi</span></a>-->
+<!--     VINCENZO               </li>-->
                 </ul>
             </aside>
         </div>
index 8b7e9796f2de06dfd9e45dc13bd5b0f84217b478..d23ae14d32a1b707b2a6f00eda0641ebf7b39bbe 100644 (file)
@@ -2,39 +2,19 @@
 {% load static %}
 {% block content %}
 
+
+
 <div class="row">
     <div class="col-12 col-md-12 col-lg-12">
         <h1 class="line-listini"><i class="fa-solid fa-route clr-listini mr-2" aria-hidden="true"></i> Dettaglio percorso </h1>
-
-        <!-- Campo di ricerca -->
-        <div class="form-group">
-            <input type="text" id="search-filter" class="form-control" placeholder="Cerca tra i percorsi">
-        </div>
-
         <div class="card">
             <div class="card-header">
                 <h4 class="clr-config">I tuoi percorsi</h4>
             </div>
 
             <div class="card-body">
-                <div class="row" id="paid-routes">
-                    {% for percorso_pagato in list_pagati %}
-                        <div class="card p-3 route__filter" style="width: 18rem;">
-                            <img class="card-img-top" src="{% static 'assets/img/logo.png' %}">
-                            <div class="card-body">
-                                <h5 class="card-title route__text">{{ percorso_pagato.nome}}</h5>
-                                <p class="card-text route__text">{{ percorso_pagato.descrizione }}</p>
-                            </div>
-                            <div class="card-footer">
-                                <div class="d-flex justify-content-between">
-                                    <h4>{{ percorso_pagato.prezzo|floatformat:2 }} €</h4>
-                                </div>
-                            </div>
-                            <a href="{% url 'sistema:percorso_info' percorso_pagato.pk %}" class="btn btn-warning rounded-4">Dettaglio percorso</a>
-                        </div>
-                    {% empty %}
-                        <p>Non possiedi ancora alcun Percorso.</p>
-                    {% endfor %}
+                <div class="row">
+
                 </div>
             </div>
         </div>
                 <h4 class="clr-config">Percorsi che puoi acquistare</h4>
             </div>
             <div class="card-body">
-                <div class="row" id="available-routes">
+                <div class="row">
                     {% for percorso in list_percorsi %}
-                        <div class="card p-3 route__filter" style="width: 18rem;">
+                        <div class="card" style="width: 18rem;">
                             {% if percorso.icona %}
                                 <img class="card-img-top" src="/media/{{ percorso.icona }}">
                             {% else %}
                                 <img class="card-img-top" src="{% static 'assets/img/logo.png' %}">
                             {% endif %}
                             <div class="card-body">
-                                <h5 class="card-title route__text">{{ percorso.nome}}</h5>
-                                <p class="card-text route__text">{{ percorso.descrizione }}</p>
+                                <h5 class="card-title">{{ percorso.nome}}</h5>
+                                <p class="card-text">{{ percorso.descrizione }}</p>
                             </div>
-                            <div class="card-footer p-3">
+                            <div class="card-footer">
                                 <div class="d-flex justify-content-between">
                                     <h4>{{ percorso.prezzo|floatformat:2 }} €</h4>
-                                    <a href="{% url 'pagamenti:checkout' percorso.pk %}" class="btn btn-success">Acquista ora</a>
+                                    <a href="#" class="btn btn-success">Compralo subito</a>
                                 </div>
                             </div>
-                            <a href="{% url 'sistema:percorso_info' percorso.pk %}" class="btn btn-warning rounded-4">Dettaglio percorso</a>
+                        <a href="{% url 'sistema:percorso_info' percorso.pk %}" class="stretched-link"></a>
                         </div>
-                    {% empty %}
-                        <p>Non ci sono percorsi disponibili per l'acquisto.</p>
                     {% endfor %}
                 </div>
             </div>
 
 
 
-<script>
-document.addEventListener('DOMContentLoaded', () => {
-    // Assicurati che il DOM sia completamente caricato prima di eseguire il codice
-    const input = document.getElementById('search-filter');
-
-    // Verifica che l'elemento di input esista nel DOM
-    if (input) {
-        // Aggiungi un listener sull'input per avviare la ricerca durante la digitazione
-        input.addEventListener('input', search);
-    } else {
-        // Se non viene trovato, segnala in console
-        console.error("Input non trovato");
-    }
-});
-
-const search = (e) => {
-    // Ottieni il valore attuale dell'input e convertilo in minuscolo
-    const inputValue = e.target.value.toLowerCase();
-
-    // Seleziona i contenitori delle card per i percorsi pagati e disponibili
-    const paidRoutesContainer = document.getElementById('paid-routes');
-    const availableRoutesContainer = document.getElementById('available-routes');
-
-    // Verifica che i contenitori esistano prima di procedere
-    if (!paidRoutesContainer || !availableRoutesContainer) {
-        console.error("Contenitori di percorsi non trovati");
-        return;
-    }
-
-    // Seleziona le card individuali delle due sezioni
-    const paidRoutes = [...paidRoutesContainer.getElementsByClassName('route__filter')];
-    const availableRoutes = [...availableRoutesContainer.getElementsByClassName('route__filter')];
-
-    // Funzione per filtrare le card in base al testo di ricerca
-    const filterCards = (routes) => {
-        for (let i = 0; i < routes.length; i++) {
-            // Prendi il testo da h5 (titolo) e p (descrizione)
-            let searchTerm = [...routes[i].querySelectorAll("h5.card-title, p.card-text")];
-            searchTerm = searchTerm.map(item => item.innerHTML.toLowerCase());
-
-            // Verifica se l'input di ricerca è contenuto nel titolo o nella descrizione della card
-            if (searchTerm.map(text => text.includes(inputValue)).some(val => val)) {
-                // Mostra la card se il testo combacia
-                routes[i].style.display = 'block';
-            } else {
-                // Nascondi la card se il testo non combacia
-                routes[i].style.display = 'none';
-            }
-        }
-    }
-
-    // Applica il filtro alle due sezioni
-    filterCards(paidRoutes);
-    filterCards(availableRoutes);
-}
-</script>
+
+
+<!--vincenzo-->
+<!--<div class="row">-->
+<!--    <div class="col-12 col-md-12 col-lg-12">-->
+<!--        <h1 class="line-listini"><i class="fa-solid fa-route clr-listini mr-2" aria-hidden="true"></i> Dettaglio percorso </h1>-->
+
+<!--        &lt;!&ndash; Campo di ricerca &ndash;&gt;-->
+<!--        <div class="form-group">-->
+<!--            <input type="text" id="search-filter" class="form-control" placeholder="Cerca tra i percorsi">-->
+<!--        </div>-->
+
+<!--        <div class="card">-->
+<!--            <div class="card-header">-->
+<!--                <h4 class="clr-config">I tuoi percorsi</h4>-->
+<!--            </div>-->
+
+<!--            <div class="card-body">-->
+<!--                <div class="row" id="paid-routes">-->
+<!--                    {% for percorso_pagato in list_pagati %}-->
+<!--                        <div class="card p-3 route__filter" style="width: 18rem;">-->
+<!--                            <img class="card-img-top" src="{% static 'assets/img/logo.png' %}">-->
+<!--                            <div class="card-body">-->
+<!--                                <h5 class="card-title route__text">{{ percorso_pagato.nome}}</h5>-->
+<!--                                <p class="card-text route__text">{{ percorso_pagato.descrizione }}</p>-->
+<!--                            </div>-->
+<!--                            <div class="card-footer">-->
+<!--                                <div class="d-flex justify-content-between">-->
+<!--                                    <h4>{{ percorso_pagato.prezzo|floatformat:2 }} €</h4>-->
+<!--                                </div>-->
+<!--                            </div>-->
+<!--                            <a href="{% url 'sistema:percorso_info' percorso_pagato.pk %}" class="btn btn-warning rounded-4">Dettaglio percorso</a>-->
+<!--                        </div>-->
+<!--                    {% empty %}-->
+<!--                        <p>Non possiedi ancora alcun Percorso.</p>-->
+<!--                    {% endfor %}-->
+<!--                </div>-->
+<!--            </div>-->
+<!--        </div>-->
+
+<!--        <div class="card">-->
+<!--            <div class="card-header">-->
+<!--                <h4 class="clr-config">Percorsi che puoi acquistare</h4>-->
+<!--            </div>-->
+<!--            <div class="card-body">-->
+<!--                <div class="row" id="available-routes">-->
+<!--                    {% for percorso in list_percorsi %}-->
+<!--                        <div class="card p-3 route__filter" style="width: 18rem;">-->
+<!--                            {% if percorso.icona %}-->
+<!--                                <img class="card-img-top" src="/media/{{ percorso.icona }}">-->
+<!--                            {% else %}-->
+<!--                                <img class="card-img-top" src="{% static 'assets/img/logo.png' %}">-->
+<!--                            {% endif %}-->
+<!--                            <div class="card-body">-->
+<!--                                <h5 class="card-title route__text">{{ percorso.nome}}</h5>-->
+<!--                                <p class="card-text route__text">{{ percorso.descrizione }}</p>-->
+<!--                            </div>-->
+<!--                            <div class="card-footer p-3">-->
+<!--                                <div class="d-flex justify-content-between">-->
+<!--                                    <h4>{{ percorso.prezzo|floatformat:2 }} €</h4>-->
+<!--                        <a href="{% url 'pagamenti:checkout' percorso.pk %}" class="btn btn-success">Acquista ora</a>&ndash;&gt;-->
+<!--                                </div>-->
+<!--                                <a href="{% url 'sistema:percorso_info' percorso.pk %}" class="btn btn-warning rounded-4">Dettaglio percorso</a>-->
+<!--                            </div>-->
+
+<!--                        </div>-->
+<!--               {% empty %}&ndash;&gt;-->
+<!--                    <p>Non ci sono percorsi disponibili per l'acquisto.</p>&ndash;&gt;-->
+<!--                    {% endfor %}-->
+<!--                </div>-->
+<!--            </div>-->
+<!--        </div>-->
+
+<!--    </div>-->
+<!--</div>-->
+
+
+
+
+<!--<script>-->
+<!--document.addEventListener('DOMContentLoaded', () => {-->
+<!--    // Assicurati che il DOM sia completamente caricato prima di eseguire il codice-->
+<!--    const input = document.getElementById('search-filter');-->
+
+<!--    // Verifica che l'elemento di input esista nel DOM-->
+<!--    if (input) {-->
+<!--        // Aggiungi un listener sull'input per avviare la ricerca durante la digitazione-->
+<!--        input.addEventListener('input', search);-->
+<!--    } else {-->
+<!--        // Se non viene trovato, segnala in console-->
+<!--        console.error("Input non trovato");-->
+<!--    }-->
+<!--});-->
+
+<!--const search = (e) => {-->
+<!--    // Ottieni il valore attuale dell'input e convertilo in minuscolo-->
+<!--    const inputValue = e.target.value.toLowerCase();-->
+
+<!--    // Seleziona i contenitori delle card per i percorsi pagati e disponibili-->
+<!--    const paidRoutesContainer = document.getElementById('paid-routes');-->
+<!--    const availableRoutesContainer = document.getElementById('available-routes');-->
+
+<!--    // Verifica che i contenitori esistano prima di procedere-->
+<!--    if (!paidRoutesContainer || !availableRoutesContainer) {-->
+<!--        console.error("Contenitori di percorsi non trovati");-->
+<!--        return;-->
+<!--    }-->
+
+<!--    // Seleziona le card individuali delle due sezioni-->
+<!--    const paidRoutes = [...paidRoutesContainer.getElementsByClassName('route__filter')];-->
+<!--    const availableRoutes = [...availableRoutesContainer.getElementsByClassName('route__filter')];-->
+
+<!--    // Funzione per filtrare le card in base al testo di ricerca-->
+<!--    const filterCards = (routes) => {-->
+<!--        for (let i = 0; i < routes.length; i++) {-->
+<!--            // Prendi il testo da h5 (titolo) e p (descrizione)-->
+<!--            let searchTerm = [...routes[i].querySelectorAll("h5.card-title, p.card-text")];-->
+<!--            searchTerm = searchTerm.map(item => item.innerHTML.toLowerCase());-->
+
+<!--            // Verifica se l'input di ricerca è contenuto nel titolo o nella descrizione della card-->
+<!--            if (searchTerm.map(text => text.includes(inputValue)).some(val => val)) {-->
+<!--                // Mostra la card se il testo combacia-->
+<!--                routes[i].style.display = 'block';-->
+<!--            } else {-->
+<!--                // Nascondi la card se il testo non combacia-->
+<!--                routes[i].style.display = 'none';-->
+<!--            }-->
+<!--        }-->
+<!--    }-->
+
+<!--    // Applica il filtro alle due sezioni-->
+<!--    filterCards(paidRoutes);-->
+<!--    filterCards(availableRoutes);-->
+<!--}-->
+<!--</script>-->
 
 
 
index bcdecfe42af6dbb0ed8cb7ca46e7f34e251b82e3..a99afd4d360e08c3db3b880cf990f1d95c4e4ba0 100644 (file)
@@ -48,28 +48,39 @@ class MultimediaListView(TemplateView):#PermissionRequiredMixin
 
     template_name = 'multimedia_list.html'
 
+### VINCENZO ###
+# class PercorsiListView(View):
+#     def get(self, request):
+#         if request.session['roles'] == settings.CLIENTI_GROUPS:
+#             # Ottieni gli ID dei percorsi già pagati
+#             percorsi_pagati_id = Pagamenti.objects.filter(user=request.user).values_list('percorso_id', flat=True)
+#
+#             # Ottieni i percorsi pagati
+#             list_pagati = Percorso.objects.filter(id__in=percorsi_pagati_id)
+#
+#             # Ottieni i percorsi disponibili (non pagati)
+#             list_percorsi = Percorso.objects.exclude(id__in=percorsi_pagati_id)
+#
+#             return render(request, 'percorsi_cliente_home.html', {
+#                 'list_pagati': list_pagati,
+#                 'list_percorsi': list_percorsi,
+#             })
+#         else:
+#             form = IconaPercorsoForm()
+#             percorsi_disponibili = Percorso.objects.all()
+#             return render(request, 'percorsi_list.html', {'percorsi': percorsi_disponibili, 'form': form})
+
 
 class PercorsiListView(View):
     def get(self, request):
         if request.session['roles'] == settings.CLIENTI_GROUPS:
-            # Ottieni gli ID dei percorsi già pagati
-            percorsi_pagati_id = Pagamenti.objects.filter(user=request.user).values_list('percorso_id', flat=True)
-
-            # Ottieni i percorsi pagati
-            list_pagati = Percorso.objects.filter(id__in=percorsi_pagati_id)
-
-            # Ottieni i percorsi disponibili (non pagati)
-            list_percorsi = Percorso.objects.exclude(id__in=percorsi_pagati_id)
-
-            return render(request, 'percorsi_cliente_home.html', {
-                'list_pagati': list_pagati,
-                'list_percorsi': list_percorsi,
-            })
+            list_percorsi = Percorso.objects.filter(is_active=True)
+            return render(request, 'percorsi_cliente_home.html', {'list_percorsi': list_percorsi})
         else:
             form = IconaPercorsoForm()
-            percorsi_disponibili = Percorso.objects.all()
-            return render(request, 'percorsi_list.html', {'percorsi': percorsi_disponibili, 'form': form})
+            return render(request, 'percorsi_list.html', {'form':form})
 
+### VINCENZO ###
 
 class TuoiPercorsiListView(View):
     def get(self, request):