Spiellokal-Auswahl im Spielbericht zeigt abgelaufene Lokale #119

Open
opened 2026-10-20 09:42:53 +00:00 by claude · 0 comments
Collaborator

Aufgefallen beim Prüfen des toten Codes (Project-Review 20.10.2026). Belegt ist es am Code (main 4e9c05c), in der Oberfläche noch nicht nachgestellt.

Was passiert

Die Begegnungsansicht liefert die Liste der wählbaren Spiellokale aus TeamMatchWorkflowResource (Zeile 304) mit venueRepository.findByClubId(heimverein). Diese Abfrage liefert alle Lokal-Zeilen des Vereins, auch die abgelaufenen.

Abgelaufene Zeilen entstehen beim Fortschreiben der Vereinsmeldung (ClubRegistrationService):

  • Adresse geändert: Die alte Zeile endet, eine neue mit demselben Namen beginnt (persistVenue).
  • Lokal weggefallen: Die Zeile endet und bleibt stehen (beendeWeggefallene).
  • Berichtigung: Die Zeile endet an ihrem eigenen Beginn, war also nie gültig. Sie bleibt trotzdem stehen.

Beispiel: Der Verein zieht mit der „Turnhalle Bäumlihof“ in ein anderes Gebäude, behält den Namen und meldet die neue Adresse. Im Spielbericht steht „Turnhalle Bäumlihof“ danach zweimal zur Wahl, und eine der beiden ist die alte Adresse. Ein Lokal, das der Verein abgemeldet hat, steht weiter in der Liste.

Vorschlag

Für eine Begegnung zählt das Lokal, das am Spieltag galt. Das ist VenueRepository.findValidAt(clubId, datum), das es schon gibt und das heute niemand aufruft.

Offen, zu entscheiden:

  • Welcher Tag gilt, solange eine Begegnung noch keinen Termin hat: heute oder das Ende des Spielfensters?
  • Was passiert mit einer Begegnung, bei der schon ein inzwischen abgelaufenes Lokal eingetragen ist? Die Anzeige liest match.venue direkt, die bleibt also richtig. Nur die Auswahl ändert sich.

Abnahme

  • Ein Test legt ein Lokal an, ändert dessen Adresse und prüft: Die Auswahl der Begegnung führt den Namen genau einmal, mit der Adresse, die am Spieltag gilt.
  • Ein abgemeldetes Lokal erscheint nicht mehr.
Aufgefallen beim Prüfen des toten Codes (Project-Review 20.10.2026). Belegt ist es am Code (`main` 4e9c05c), **in der Oberfläche noch nicht nachgestellt**. ## Was passiert Die Begegnungsansicht liefert die Liste der wählbaren Spiellokale aus `TeamMatchWorkflowResource` (Zeile 304) mit `venueRepository.findByClubId(heimverein)`. Diese Abfrage liefert **alle** Lokal-Zeilen des Vereins, auch die abgelaufenen. Abgelaufene Zeilen entstehen beim Fortschreiben der Vereinsmeldung (`ClubRegistrationService`): - **Adresse geändert:** Die alte Zeile endet, eine neue mit **demselben Namen** beginnt (`persistVenue`). - **Lokal weggefallen:** Die Zeile endet und bleibt stehen (`beendeWeggefallene`). - **Berichtigung:** Die Zeile endet an ihrem eigenen Beginn, war also nie gültig. Sie bleibt trotzdem stehen. **Beispiel:** Der Verein zieht mit der „Turnhalle Bäumlihof“ in ein anderes Gebäude, behält den Namen und meldet die neue Adresse. Im Spielbericht steht „Turnhalle Bäumlihof“ danach **zweimal** zur Wahl, und eine der beiden ist die alte Adresse. Ein Lokal, das der Verein abgemeldet hat, steht weiter in der Liste. ## Vorschlag Für eine Begegnung zählt das Lokal, das **am Spieltag** galt. Das ist `VenueRepository.findValidAt(clubId, datum)`, das es schon gibt und das heute niemand aufruft. **Offen, zu entscheiden:** - Welcher Tag gilt, solange eine Begegnung noch keinen Termin hat: heute oder das Ende des Spielfensters? - Was passiert mit einer Begegnung, bei der schon ein inzwischen abgelaufenes Lokal eingetragen ist? Die Anzeige liest `match.venue` direkt, die bleibt also richtig. Nur die Auswahl ändert sich. ## Abnahme - Ein Test legt ein Lokal an, ändert dessen Adresse und prüft: Die Auswahl der Begegnung führt den Namen genau einmal, mit der Adresse, die am Spieltag gilt. - Ein abgemeldetes Lokal erscheint nicht mehr.
Sign in to join this conversation.
No description provided.