From 8538623711157be611563710ef2e33772fb34a92 Mon Sep 17 00:00:00 2001 From: scayac Date: Thu, 9 Oct 2025 21:20:08 +0200 Subject: [PATCH] Bug bouton groupement + export pdf --- main/templates/course_detail.html | 11 +++++++---- main/views.py | 9 +++++++-- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/main/templates/course_detail.html b/main/templates/course_detail.html index db10fd8..0c55cd8 100644 --- a/main/templates/course_detail.html +++ b/main/templates/course_detail.html @@ -157,10 +157,13 @@ socket.onmessage = function(e) { dt.row.add(rowData).draw(false); }; -// Modal confirmation fin de course -document.getElementById('btnFinish').onclick = function() { - $('#finishModal').modal('show'); -}; +// Modal confirmation fin de course (attach handler only if button exists) +var finishBtn = document.getElementById('btnFinish'); +if (finishBtn) { + finishBtn.addEventListener('click', function() { + $('#finishModal').modal('show'); + }); +} // Initialisation DataTables au chargement $(document).ready(function() { diff --git a/main/views.py b/main/views.py index 4d72a7b..bfff531 100644 --- a/main/views.py +++ b/main/views.py @@ -164,6 +164,9 @@ def export_pdf(request, course_id): p = canvas.Canvas(response, pagesize=A4) width, height = A4 + # Choisit l'étiquette de la première colonne selon le type de course + first_col_label = 'Tour' if course.type == 'multi' else 'Rang' + # En-tête du document y = height - 50 p.setFont("Helvetica-Bold", 16) @@ -172,7 +175,7 @@ def export_pdf(request, course_id): # En-tête du tableau y -= 40 p.setFont("Helvetica", 12) - p.drawString(50, y, "Rang") + p.drawString(50, y, first_col_label) p.drawString(100, y, "Nom") p.drawString(300, y, "Classe") p.drawString(400, y, "Temps") @@ -199,7 +202,9 @@ def export_pdf(request, course_id): else: arrivees = course.arrivees.select_related('coureur').order_by('rang') for a in arrivees: - p.drawString(50, y, str(a.rang)) + # Affiche le numéro de tour pour les courses multi, sinon le rang + first_value = a.tour if course.type == 'multi' else a.rang + p.drawString(50, y, str(first_value)) p.drawString(100, y, a.coureur.nom) p.drawString(300, y, a.coureur.classe) p.drawString(400, y, str(a.temps))