From b30ee77132d93a16c607f6d3787c4693b91dfd6c Mon Sep 17 00:00:00 2001 From: "Edgar P. Burkhart" Date: Sun, 15 Jun 2025 16:24:51 +0200 Subject: [PATCH] Enhance GroupAddMemberView to support adding multiple members and improve error handling for non-existent users --- game/views.py | 29 +++++++++++++++++------------ 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/game/views.py b/game/views.py index 9ee29ca..d5f3b7d 100644 --- a/game/views.py +++ b/game/views.py @@ -139,19 +139,24 @@ class GroupAddMemberView(MemberFilterMixin, SingleObjectMixin, View): group = self.get_object() if not group.is_leader(request.user): raise PermissionDenied() - username = request.POST.get("username") - user = User.objects.get(username=username) - if user == group.owner: - messages.add_message( - request, messages.WARNING, f"{user} est le propriétaire du groupe." - ) - return redirect(group) - if user in group.members.all(): - messages.add_message( - request, messages.WARNING, f"{user} est déjà membre du groupe." - ) + usernames = request.POST.get("username") + for username in usernames.split(): + user = User.objects.filter(username=username).first() + if not user: + messages.add_message( + request, messages.ERROR, f"{username} n'existe pas." + ) + elif user == group.owner: + messages.add_message( + request, messages.WARNING, f"{user} est le propriétaire du groupe." + ) + elif user in group.members.all(): + messages.add_message( + request, messages.WARNING, f"{user} est déjà membre du groupe." + ) + else: + group.members.add(user) - group.members.add(user) return redirect(group)