Fix: EventUpdateView - Formular mit bestehenden Daten vorbefüllen

Behebt einen Fehler in der , bei dem beim Bearbeiten
eines Events (Spiel oder Training) das Formular leer angezeigt wurde
anstatt mit den vorhandenen Daten des Events vorbefüllt zu sein.

Die Ursache war eine Inkonsistenz bei der Übergabe der Modellinstanz:
Die  erhielt ein übergeordnetes -Objekt, während die
 für  oder  eine spezifische Child-Instanz
erwartete.

Änderungen:
- Überschreibung der Methode  in , um die
  korrekte untergeordnete Instanz ( oder ) des Events
  abzurufen und an das Formular zu übergeben.
- Aktualisierung der Methode  in  zur
  Verwendung von  für eine robustere Typüberprüfung des
  Objekts.
This commit is contained in:
Matthias Nagel 2025-11-20 08:54:28 +01:00
parent fb782d85db
commit cb08474301

View File

@ -76,10 +76,20 @@ class EventUpdateView(LoginRequiredMixin, CoachCheckMixin, UpdateView):
template_name = 'calendars/event_form.html'
success_url = reverse_lazy('dashboard')
def get_object(self, queryset=None):
# Fetch the event and then check if it's a game or training to return the specific instance
obj = super().get_object(queryset)
if hasattr(obj, 'game'):
return obj.game
if hasattr(obj, 'training'):
return obj.training
return obj
def get_form_class(self):
if hasattr(self.object, 'game'):
# self.object is now the correct child instance because of the overridden get_object
if isinstance(self.object, Game):
return GameForm
if hasattr(self.object, 'training'):
if isinstance(self.object, Training):
return TrainingForm
return EventForm