Membres
diff --git a/game/views.py b/game/views.py
index e6f73a8..c564b8c 100644
--- a/game/views.py
+++ b/game/views.py
@@ -173,11 +173,12 @@ class GroupRemoveMemberView(OwnerFilterMixin, SingleObjectMixin, View):
)
if relations.count() == 0:
messages.add_message(request, messages.INFO, "Aucun membre supprimé.")
+ return redirect(group)
if relations.count() != len(request.POST.getlist("member")):
messages.add_message(
request,
messages.WARNING,
- "Certains membres n'ont pas pu être supprimées.",
+ "Certains membres n'ont pas pu être supprimés.",
)
relations.delete()
else:
@@ -185,28 +186,38 @@ class GroupRemoveMemberView(OwnerFilterMixin, SingleObjectMixin, View):
messages.add_message(
request,
messages.SUCCESS,
- "Les membres sélectionnés ont été supprimées.",
+ "Les membres sélectionnés ont été supprimés.",
)
return redirect(group)
-class GroupRemoveGameView(SingleObjectMixin, SuccessMessageMixin, View):
- model = models.MusikGame
- success_message = "Le jeu du %(date)s a été supprimé avec succès."
+class GroupRemoveGameView(OwnerFilterMixin, SingleObjectMixin, View):
+ model = models.Group
- def get_queryset(self):
- return super().get_queryset().filter(group__owner=self.request.user)
+ def post(self, request, pk):
+ group = self.get_object()
+
+ games = group.musikgame_set.filter(pk__in=request.POST.getlist("game"))
+
+ if games.count() == 0:
+ messages.add_message(request, messages.INFO, "Aucune partie supprimé.")
+ return redirect(group)
+ if games.count() != len(request.POST.getlist("game")):
+ messages.add_message(
+ request,
+ messages.WARNING,
+ "Certaines parties n'ont pas pu être supprimées.",
+ )
+ games.delete()
+ else:
+ games.delete()
+ messages.add_message(
+ request,
+ messages.SUCCESS,
+ "Les parties sélectionnées ont été supprimées.",
+ )
- def get(self, request, pk):
- game = self.get_object()
- group = game.group
- game.delete()
- messages.add_message(
- request,
- messages.SUCCESS,
- f"Le jeu du {game.date.strftime('%x')} a été supprimé avec succès.",
- )
return redirect(group)