Weiterleitung zur bestehenden Episode beim Anlegen schlägt fehl
Anlegen einer Episode mit vorgegebenen Broadcast via /manage/episodes/add/?broadcast=123456
gibt einen Fehler, wenn die Episode schon existiert.
Hintergrund: Es passiert, dass Menschen auf der Startseite im Program eine Episode über den grünen Knopf anlegen. Anschließend gehen sie via Zurück Pfeil des Browsers auf die Startseite. Dann drücken sie wieder drauf, und es gibt einen Fehler. Das verwirrte mehrmals Leute und sie dachten sie hätten etwas falsch gemacht und es dann gelassen.
Fehler
[...]
Request Method: GET
Request URL: https://produktion.lohro.de/manage/episodes/add/?broadcast=106865
[...]
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/django/core/handlers/base.py", line 181, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/usr/lib/python3/dist-packages/django/views/generic/base.py", line 70, in view
return self.dispatch(request, *args, **kwargs)
File "/usr/share/lohrothek-backend/lohrothek/modules/program/views/episodes.py", line 162, in dispatch
" ".join(
Exception Type: TypeError at /manage/episodes/add/
Exception Value: sequence item 0: expected str instance, __proxy__ found
Die betreffende Codezeile als Vorschau
if broadcast:
# broadcast already got an episode linked, redirect to episode detail view
if broadcast.episode:
messages.add_message(
self.request,
messages.WARNING,
" ".join(
[
_(
"A new episode linked to a broadcast requires the ID "
"parameter of an empty premiere broadcast."
),
_(
"Broadcast '{}' has already episode '{}' linked."
).format(broadcast, broadcast.episode),
]
),
)
return redirect(
reverse("show-episode", args=[broadcast.episode.pk])
)