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,7 +104,8 @@ 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")
for yt_id in ids.split():
if not yt_id: if not yt_id:
messages.add_message(request, messages.ERROR, "Aucun identifiant donné") messages.add_message(request, messages.ERROR, "Aucun identifiant donné")
return redirect(group) return redirect(group)
@ -115,9 +116,11 @@ class GroupAddMusicView(MemberFilterMixin, SingleObjectMixin, View):
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(
yt_id=yt_id, title=title, owner=request.user
)
except IntegrityError: except IntegrityError:
messages.add_message( messages.add_message(
request, messages.ERROR, f"Vidéo Youtube déjà ajoutée : {yt_id}" request, messages.ERROR, f"Vidéo Youtube déjà ajoutée : {yt_id}"