30 lines
1.6 KiB
Markdown
30 lines
1.6 KiB
Markdown
## Phase 4: Terminverwaltung und Google Maps API
|
|
|
|
Hier wird die Kalenderfunktionalität implementiert, einschließlich der verschiedenen Termintypen und der Integration von Google Maps.
|
|
|
|
Schritt 1: Terminkategorien und Basismodell erstellen
|
|
|
|
Navigiere in das calendars-Verzeichnis und öffne models.py.
|
|
|
|
Erstelle ein Event-Modell als Basis für alle Termine, mit Feldern wie title, description, start_time, end_time (optional), location_address und Maps_shortlink.
|
|
|
|
Erstelle Training und Game als Submodelle von Event unter Verwendung von Multi-Table-Inheritance.
|
|
|
|
Schritt 2: Besondere Logik für Game implementieren
|
|
|
|
Füge dem Game-Modell die Felder opponent, meeting_minutes_before_game und die season hinzu.
|
|
|
|
Implementiere Logik für die Mindestanzahl von Spielern (Default 9, kann von Coaches überschrieben werden).
|
|
|
|
Erstelle ein Modell GameResult zur Speicherung der Ergebnisse pro Inning.
|
|
|
|
Schritt 3: Google Maps Integration
|
|
|
|
Implementiere eine Logik im calendars App, die eine gegebene Adresse in einen Google Maps Shortlink umwandelt. Dies erfordert die Nutzung einer API (oder eine einfache URL-Erstellung basierend auf den Adressdaten).
|
|
|
|
Schritt 4: Dashboard-Views und Zugriffsrechte
|
|
|
|
Entwickle die Views in der dashboard-App, die basierend auf der Rolle des eingeloggten Benutzers (Elternteil, Spieler, Coach) die entsprechenden Termine und "Widgets" anzeigen.
|
|
|
|
Implementiere die Zugriffslogik, sodass ein Coach nur Termine für seine Gliederung (Mannschaft oder Team) anlegen, absagen oder bearbeiten kann.
|