diff --git a/game/templates/game/group_detail.html b/game/templates/game/group_detail.html index a3458e6..24f56e7 100644 --- a/game/templates/game/group_detail.html +++ b/game/templates/game/group_detail.html @@ -52,48 +52,51 @@

Membres

- - - - - - - {% if group.owner == user %} - - {% endif %} - - - - - - - - {% if group.owner == user %}{% endif %} - - {% for member in members.all %} + + {% csrf_token %} +
Membre - - - - - -
{{ group.owner }} - - {{ owner_count }}
+ - - - - {% if group.owner == user %} - - {% endif %} + {% if group.owner == user %}{% endif %} + + + - {% endfor %} - -
{{ member }}{{ member.count }} - - - - Membre + + + +
+ + + + {% if group.owner == user %}{% endif %} + {{ group.owner }} + + + + {{ owner_count }} + + {% for member in members.all %} + + {% if group.owner == user %} + + + + {% endif %} + {{ member }} + + {{ member.count }} + + {% endfor %} + + + {% if musics %} + + {% endif %} + {% if group.owner == user %}
{% csrf_token %} diff --git a/game/urls.py b/game/urls.py index 3d8d8ca..9ee8dd6 100644 --- a/game/urls.py +++ b/game/urls.py @@ -32,7 +32,7 @@ urlpatterns = [ name="group_remove_game", ), path( - "group//remove_membrer//", + "group//remove_membrer/", views.GroupRemoveMemberView.as_view(), name="group_remove_member", ), diff --git a/game/views.py b/game/views.py index f70831d..ce9dc20 100644 --- a/game/views.py +++ b/game/views.py @@ -163,21 +163,28 @@ class GroupRemoveMusicView(MemberFilterMixin, SingleObjectMixin, View): class GroupRemoveMemberView(OwnerFilterMixin, SingleObjectMixin, View): model = models.Group - def get(self, request, pk, user_pk): + def post(self, request, pk): group = self.get_object() - user = User.objects.get(pk=user_pk) - relation = models.Group.members.through.objects.filter( - group=group, user=user - ).first() - if not relation: + relations = models.Group.members.through.objects.filter( + group=group, user__id__in=request.POST.getlist("member") + ) + if relations.count() == 0: + messages.add_message(request, messages.INFO, "Aucun membre supprimé.") + if relations.count() != len(request.POST.getlist("member")): messages.add_message( request, - messages.ERROR, - f"L'utilisateur {user} n'est pas membre du groupe.", + messages.WARNING, + "Certains membres n'ont pas pu être supprimées.", ) + relations.delete() else: - relation.delete() + relations.delete() + messages.add_message( + request, + messages.SUCCESS, + "Les membres sélectionnés ont été supprimées.", + ) return redirect(group) @@ -321,5 +328,5 @@ class GroupClearBlacklistView(OwnerFilterMixin, SingleObjectMixin, View): def get(self, request, pk): group = self.get_object() group.musicvideo_set.filter(blacklisted=True).update(blacklisted=False) - messages.add_message(request, messages.SUCCESS, "La blacklist a été vidée.") + messages.add_message(request, messages.SUCCESS, "La blacklist a été effacée.") return redirect(group)