diff --git a/game/templates/game/group_detail.html b/game/templates/game/group_detail.html
index 529a236..a3458e6 100644
--- a/game/templates/game/group_detail.html
+++ b/game/templates/game/group_detail.html
@@ -114,31 +114,31 @@
Liste des musiques
-
-
-
- Musique |
- ID |
-
-
- |
-
-
- |
-
-
-
- {% for music in musics %}
+
- {% endblock content %}
+
+
+{% endblock content %}
diff --git a/game/urls.py b/game/urls.py
index 04c64e6..3d8d8ca 100644
--- a/game/urls.py
+++ b/game/urls.py
@@ -27,7 +27,7 @@ urlpatterns = [
name="group_remove_music",
),
path(
- "group/remove_game//",
+ "group//remove_game/",
views.GroupRemoveGameView.as_view(),
name="group_remove_game",
),
diff --git a/game/views.py b/game/views.py
index 141b03b..f70831d 100644
--- a/game/views.py
+++ b/game/views.py
@@ -131,13 +131,32 @@ class GroupAddMemberView(OwnerFilterMixin, SingleObjectMixin, View):
return redirect(group)
-class GroupRemoveMusicView(OwnerFilterMixin, SingleObjectMixin, View):
- model = models.MusicVideo
+class GroupRemoveMusicView(MemberFilterMixin, SingleObjectMixin, View):
+ model = models.Group
- def get(self, request, pk):
- music = self.get_object()
- group = music.group
- music.delete()
+ def post(self, request, pk):
+ group = self.get_object()
+ musics = group.musicvideo_set.filter(
+ owner=request.user, pk__in=request.POST.getlist("musics")
+ )
+
+ if musics.count() == 0:
+ messages.add_message(request, messages.INFO, "Aucune musique supprimée.")
+ return redirect(group)
+ if musics.count() != len(request.POST.getlist("musics")):
+ messages.add_message(
+ request,
+ messages.WARNING,
+ "Certaines musiques n'ont pas pu être supprimées.",
+ )
+ musics.delete()
+ else:
+ musics.delete()
+ messages.add_message(
+ request,
+ messages.SUCCESS,
+ "Les musiques sélectionnées ont été supprimées.",
+ )
return redirect(group)