diff --git a/game/templates/game/group_detail.html b/game/templates/game/group_detail.html index 24f56e7..1395e85 100644 --- a/game/templates/game/group_detail.html +++ b/game/templates/game/group_detail.html @@ -22,32 +22,34 @@

Parties

- - - - - {% if group.owner == user %} - - {% endif %} - - - {% for game in group.musikgame_set.all %} - - - - {% if group.owner == user %} + + {% csrf_token %} +
DateJoueurs - -
- {{ game.date }} - {{ game.players.all|join:", " }}
+ + + + + + + {% for game in group.musikgame_set.all %} + + {% if group.owner == user %} + + {% endif %} - {% endif %} - - {% endfor %} - -
DateJoueurs
+ + - + {{ game.date }}
+ {{ game.players.all|join:", " }} + + {% endfor %} + + + + {% endif %}

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)