From 951128147cb561f223a5b20075a9ed32dd9dab11 Mon Sep 17 00:00:00 2001 From: "Edgar P. Burkhart" Date: Mon, 16 Jun 2025 15:44:17 +0200 Subject: [PATCH] Fix playlist loading logic in MusikGame creation and update related template messages Fix #10 --- game/models.py | 3 +++ game/templates/game/musikgame_form.html | 8 +++++--- game/views.py | 5 ++--- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/game/models.py b/game/models.py index 18912a0..51eb410 100644 --- a/game/models.py +++ b/game/models.py @@ -99,6 +99,9 @@ def generateYoutubePlaylist(sender, instance, created, **kwargs): if creds := instance.group.owner.youtubecredentials: tasks.generate_playlist.delay_on_commit(creds.credentials, instance.pk) + else: + instance.playlist_loading = False + instance.save() @receiver(post_delete, sender=MusikGame) diff --git a/game/templates/game/musikgame_form.html b/game/templates/game/musikgame_form.html index 38ed5b6..655723a 100644 --- a/game/templates/game/musikgame_form.html +++ b/game/templates/game/musikgame_form.html @@ -5,10 +5,12 @@ {{ group.name }}

- {% if not user.youtubecredentials.credentials %} - Me connecter au compte Youtube + {% if group.owner.youtubecredentials.credentials %} + Une playlist sera générée automatiquement sur le compte Youtube de {{ group.owner }} ({{ group.owner.youtubecredentials.title }}). + {% elif user == group.owner %} + Connecter mon compte Youtube {% else %} - Une playlist sera générée automatiquement sur le compte Youtube {{ user.youtubecredentials.title }}. + Aucune playlist Youtube ne sera générée car {{ group.owner }} n'a pas lié son compte Youtube. {% endif %}

{% form form %} diff --git a/game/views.py b/game/views.py index 20fedff..45685aa 100644 --- a/game/views.py +++ b/game/views.py @@ -331,9 +331,8 @@ class GameCreateView(LoginRequiredMixin, CreateView): game=form.instance, player=player, music_video=music, order=order ) - if models.YoutubeCredentials.objects.filter(user=self.request.user).exists(): - form.instance.playlist_loading = True - form.instance.save() + form.instance.playlist_loading = True + form.instance.save() return res