Add migration to alter MusicVideo model options and update group detail form to use textarea for YouTube IDs

This commit is contained in:
Edgar P. Burkhart 2025-06-15 16:20:53 +02:00
parent 486f650ea6
commit cc38d72df8
Signed by: edpibu
GPG key ID: 9833D3C5A25BD227
4 changed files with 42 additions and 22 deletions

View file

@ -0,0 +1,16 @@
# Generated by Django 5.2.3 on 2025-06-15 14:19
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
("game", "0022_musicgameorder_value"),
]
operations = [
migrations.AlterModelOptions(
name="musicvideo",
options={"ordering": ["blacklisted", "-date_added"]},
),
]

View file

@ -66,6 +66,7 @@ class MusicVideo(models.Model):
fields=("yt_id", "owner", "group"), name="unique_music_in_group" fields=("yt_id", "owner", "group"), name="unique_music_in_group"
) )
] ]
ordering = ["blacklisted", "-date_added"]
class GameManager(models.Manager): class GameManager(models.Manager):

View file

@ -71,8 +71,8 @@
</details> </details>
<form method="post" action="{% url "group_add_music" pk=group.pk %}"> <form method="post" action="{% url "group_add_music" pk=group.pk %}">
{% csrf_token %} {% csrf_token %}
<fieldset role="group"> <fieldset>
<input type="string" name="yt_id" id="yt_id" placeholder="Musique" required> <textarea name="yt_id" id="yt_id" placeholder="Musiques" required></textarea>
<button type="submit">Ajouter</button> <button type="submit">Ajouter</button>
</fieldset> </fieldset>
</form> </form>

View file

@ -104,28 +104,31 @@ class GroupAddMusicView(MemberFilterMixin, SingleObjectMixin, View):
def post(self, request, pk): def post(self, request, pk):
group = self.get_object() group = self.get_object()
yt_id = request.POST.get("yt_id") ids = request.POST.get("yt_id")
if not yt_id: for yt_id in ids.split():
messages.add_message(request, messages.ERROR, "Aucun identifiant donné") if not yt_id:
return redirect(group) messages.add_message(request, messages.ERROR, "Aucun identifiant donné")
yt_id = utils.parse_musik(yt_id) return redirect(group)
yt_id = utils.parse_musik(yt_id)
title = utils.get_yt_title(yt_id) title = utils.get_yt_title(yt_id)
if not title: if not title:
messages.add_message( messages.add_message(
request, messages.ERROR, f"Vidéo Youtube invalide : {yt_id}" request, messages.ERROR, f"Vidéo Youtube invalide : {yt_id}"
) )
return redirect(group) else:
try: try:
group.musicvideo_set.create(yt_id=yt_id, title=title, owner=request.user) group.musicvideo_set.create(
except IntegrityError: yt_id=yt_id, title=title, owner=request.user
messages.add_message( )
request, messages.ERROR, f"Vidéo Youtube déjà ajoutée : {yt_id}" except IntegrityError:
) messages.add_message(
request, messages.ERROR, f"Vidéo Youtube déjà ajoutée : {yt_id}"
)
messages.add_message( messages.add_message(
request, messages.SUCCESS, f"Vidéo Youtube ajoutée : {yt_id}" request, messages.SUCCESS, f"Vidéo Youtube ajoutée : {yt_id}"
) )
return redirect(group) return redirect(group)