Enhance GroupAddMemberView to support adding multiple members and improve error handling for non-existent users
This commit is contained in:
parent
cc38d72df8
commit
b30ee77132
1 changed files with 17 additions and 12 deletions
|
@ -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)
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue