From 4a83e5c159947f85287d29a8a36c84f799c81b62 Mon Sep 17 00:00:00 2001 From: "Torsten Schulz (local)" Date: Sat, 15 Nov 2025 22:26:17 +0100 Subject: [PATCH] Enhance knockout round functionality by adding group count validation This commit updates the `TournamentTab.vue` component to ensure that knockout rounds can only be started or reset if there is more than one group present in the tournament. A new method, `getTotalNumberOfGroups`, is introduced to calculate the total number of groups, improving the logic for determining the availability of knockout rounds. These changes enhance the tournament management experience by preventing invalid operations in single-group scenarios. --- frontend/src/views/TournamentTab.vue | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/frontend/src/views/TournamentTab.vue b/frontend/src/views/TournamentTab.vue index cf03f55..5203295 100644 --- a/frontend/src/views/TournamentTab.vue +++ b/frontend/src/views/TournamentTab.vue @@ -530,18 +530,18 @@ Spiele erstellen -
+
-
+
-
+

K.-o.-Runde

@@ -1304,10 +1304,26 @@ export default { // kein Gruppenmodus → immer starten return true; } + // Gruppenmodus → prüfe Anzahl der Gruppen + const totalGroups = this.getTotalNumberOfGroups(); + if (totalGroups <= 1) { + // Nur eine Gruppe → keine K.O.-Runde möglich + return false; + } // Gruppenmodus → nur, wenn es Gruppenspiele gibt und alle beendet sind return this.groupMatches.length > 0 && this.groupMatches.every(m => m.isFinished); }, + + getTotalNumberOfGroups() { + if (!this.isGroupTournament) return 0; + // Wenn es Klassen gibt, summiere die Gruppen pro Klasse + if (this.tournamentClasses && this.tournamentClasses.length > 0) { + return Object.values(this.groupsPerClass).reduce((sum, count) => sum + (count || 0), 0); + } + // Sonst verwende numberOfGroups + return this.numberOfGroups || 0; + }, canResetKnockout() { // KO‑Matches existieren und keiner ist beendet