Add title field to YoutubeCredentials model and update related templates and tasks
This commit is contained in:
parent
f36fe8ea84
commit
83404e2ed5
6 changed files with 22 additions and 6 deletions
17
game/migrations/0017_youtubecredentials_title.py
Normal file
17
game/migrations/0017_youtubecredentials_title.py
Normal 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),
|
||||||
|
),
|
||||||
|
]
|
|
@ -11,6 +11,7 @@ from . import tasks
|
||||||
class YoutubeCredentials(models.Model):
|
class YoutubeCredentials(models.Model):
|
||||||
user = models.OneToOneField(User, on_delete=models.CASCADE)
|
user = models.OneToOneField(User, on_delete=models.CASCADE)
|
||||||
credentials = models.JSONField()
|
credentials = models.JSONField()
|
||||||
|
title = models.CharField(blank=True)
|
||||||
|
|
||||||
|
|
||||||
class Group(models.Model):
|
class Group(models.Model):
|
||||||
|
|
|
@ -8,7 +8,6 @@ from . import models
|
||||||
@shared_task
|
@shared_task
|
||||||
def generate_playlist(creds, game_pk):
|
def generate_playlist(creds, game_pk):
|
||||||
game = models.MusikGame.objects.get(pk=game_pk)
|
game = models.MusikGame.objects.get(pk=game_pk)
|
||||||
creds.pop("channel_title")
|
|
||||||
credentials = google.oauth2.credentials.Credentials(**creds)
|
credentials = google.oauth2.credentials.Credentials(**creds)
|
||||||
yt_api = googleapiclient.discovery.build("youtube", "v3", credentials=credentials)
|
yt_api = googleapiclient.discovery.build("youtube", "v3", credentials=credentials)
|
||||||
pl_request = yt_api.playlists().insert(
|
pl_request = yt_api.playlists().insert(
|
||||||
|
@ -48,7 +47,6 @@ def generate_playlist(creds, game_pk):
|
||||||
|
|
||||||
@shared_task
|
@shared_task
|
||||||
def delete_playlist(creds, playlist_id):
|
def delete_playlist(creds, playlist_id):
|
||||||
creds.pop("channel_title")
|
|
||||||
credentials = google.oauth2.credentials.Credentials(**creds)
|
credentials = google.oauth2.credentials.Credentials(**creds)
|
||||||
|
|
||||||
yt_api = googleapiclient.discovery.build("youtube", "v3", credentials=credentials)
|
yt_api = googleapiclient.discovery.build("youtube", "v3", credentials=credentials)
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
{% if not user.youtubecredentials.credentials %}
|
{% if not user.youtubecredentials.credentials %}
|
||||||
<a href="{% url "youtube_login" %}" role="button"><i class="ri-youtube-fill"></i> Me connecter au compte Youtube</a>
|
<a href="{% url "youtube_login" %}" role="button"><i class="ri-youtube-fill"></i> Me connecter au compte Youtube</a>
|
||||||
{% else %}
|
{% 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 %}
|
{% endif %}
|
||||||
</p>
|
</p>
|
||||||
<h2>
|
<h2>
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
{% if not user.youtubecredentials.credentials %}
|
{% if not user.youtubecredentials.credentials %}
|
||||||
<a href="{% url "youtube_login" %}" role="button"><i class="ri-youtube-fill"></i> Me connecter au compte Youtube</a>
|
<a href="{% url "youtube_login" %}" role="button"><i class="ri-youtube-fill"></i> Me connecter au compte Youtube</a>
|
||||||
{% else %}
|
{% 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 %}
|
{% endif %}
|
||||||
</p>
|
</p>
|
||||||
{% form form %}
|
{% form form %}
|
||||||
|
|
|
@ -381,8 +381,8 @@ class YoutubeCallbackView(LoginRequiredMixin, View):
|
||||||
"client_id": credentials.client_id,
|
"client_id": credentials.client_id,
|
||||||
"client_secret": credentials.client_secret,
|
"client_secret": credentials.client_secret,
|
||||||
"granted_scopes": credentials.granted_scopes,
|
"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.")
|
messages.add_message(request, messages.SUCCESS, "Connexion à Youtube réussie.")
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue