Enhance GroupAddMemberView to support adding multiple members and improve error handling for non-existent users

This commit is contained in:
Edgar P. Burkhart 2025-06-15 16:24:51 +02:00
parent cc38d72df8
commit b30ee77132
Signed by: edpibu
GPG key ID: 9833D3C5A25BD227

View file

@ -139,19 +139,24 @@ class GroupAddMemberView(MemberFilterMixin, SingleObjectMixin, View):
group = self.get_object() group = self.get_object()
if not group.is_leader(request.user): if not group.is_leader(request.user):
raise PermissionDenied() raise PermissionDenied()
username = request.POST.get("username") usernames = request.POST.get("username")
user = User.objects.get(username=username) for username in usernames.split():
if user == group.owner: user = User.objects.filter(username=username).first()
messages.add_message( if not user:
request, messages.WARNING, f"{user} est le propriétaire du groupe." messages.add_message(
) request, messages.ERROR, f"{username} n'existe pas."
return redirect(group) )
if user in group.members.all(): elif user == group.owner:
messages.add_message( messages.add_message(
request, messages.WARNING, f"{user} est déjà membre du groupe." 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) return redirect(group)