Add title field to YoutubeCredentials model and update related templates and tasks

This commit is contained in:
Edgar P. Burkhart 2025-06-15 10:25:40 +02:00
parent f36fe8ea84
commit 83404e2ed5
Signed by: edpibu
GPG key ID: 9833D3C5A25BD227
6 changed files with 22 additions and 6 deletions

View file

@ -0,0 +1,17 @@
# Generated by Django 5.2.3 on 2025-06-15 08:24
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("game", "0016_alter_groupleader_member"),
]
operations = [
migrations.AddField(
model_name="youtubecredentials",
name="title",
field=models.CharField(blank=True),
),
]

View file

@ -11,6 +11,7 @@ from . import tasks
class YoutubeCredentials(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
credentials = models.JSONField()
title = models.CharField(blank=True)
class Group(models.Model):

View file

@ -8,7 +8,6 @@ from . import models
@shared_task
def generate_playlist(creds, game_pk):
game = models.MusikGame.objects.get(pk=game_pk)
creds.pop("channel_title")
credentials = google.oauth2.credentials.Credentials(**creds)
yt_api = googleapiclient.discovery.build("youtube", "v3", credentials=credentials)
pl_request = yt_api.playlists().insert(
@ -48,7 +47,6 @@ def generate_playlist(creds, game_pk):
@shared_task
def delete_playlist(creds, playlist_id):
creds.pop("channel_title")
credentials = google.oauth2.credentials.Credentials(**creds)
yt_api = googleapiclient.discovery.build("youtube", "v3", credentials=credentials)

View file

@ -9,7 +9,7 @@
{% if not user.youtubecredentials.credentials %}
<a href="{% url "youtube_login" %}" role="button"><i class="ri-youtube-fill"></i> Me connecter au compte Youtube</a>
{% else %}
<i class="ri-youtube-fill"></i> Connecté au compte Youtube <strong>{{ user.youtubecredentials.credentials.channel_title }}</strong>.
<i class="ri-youtube-fill"></i> Connecté au compte Youtube <strong>{{ user.youtubecredentials.title }}</strong>.
{% endif %}
</p>
<h2>

View file

@ -8,7 +8,7 @@
{% if not user.youtubecredentials.credentials %}
<a href="{% url "youtube_login" %}" role="button"><i class="ri-youtube-fill"></i> Me connecter au compte Youtube</a>
{% else %}
<i class="ri-youtube-fill"></i> Une playlist sera générée automatiquement sur le compte Youtube <strong>{{ user.youtubecredentials.credentials.channel_title }}</strong>.
<i class="ri-youtube-fill"></i> Une playlist sera générée automatiquement sur le compte Youtube <strong>{{ user.youtubecredentials.title }}</strong>.
{% endif %}
</p>
{% form form %}

View file

@ -381,8 +381,8 @@ class YoutubeCallbackView(LoginRequiredMixin, View):
"client_id": credentials.client_id,
"client_secret": credentials.client_secret,
"granted_scopes": credentials.granted_scopes,
"channel_title": res["items"][0]["snippet"]["title"],
}
},
"title": res["items"][0]["snippet"]["title"],
},
)
messages.add_message(request, messages.SUCCESS, "Connexion à Youtube réussie.")