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))