mirror of
https://github.com/nikdoof/test-auth.git
synced 2025-12-14 14:52:15 +00:00
Don't allow users to be kicked from Managed groups
This commit is contained in:
@@ -170,21 +170,22 @@ def kick_member(request, groupid, userid):
|
|||||||
group = get_object_or_404(Group, id=groupid)
|
group = get_object_or_404(Group, id=groupid)
|
||||||
user = get_object_or_404(User, id=userid)
|
user = get_object_or_404(User, id=userid)
|
||||||
|
|
||||||
if user == request.user:
|
if not group.groupinformation.type in [GROUP_TYPE_MANAGED]:
|
||||||
if user in group.groupinformation.admins.all():
|
if user == request.user:
|
||||||
group.groupinformation.admins.remove(user)
|
if user in group.groupinformation.admins.all():
|
||||||
user.groups.remove(group)
|
group.groupinformation.admins.remove(user)
|
||||||
update_user_access.delay(user.id)
|
|
||||||
messages.add_message(request, messages.INFO, "You have left the group %s" % group.name)
|
|
||||||
|
|
||||||
elif request.user in group.groupinformation.admins.all() or request.user.is_superuser:
|
|
||||||
if not user in group.groupinformation.admins.all():
|
|
||||||
user.groups.remove(group)
|
user.groups.remove(group)
|
||||||
update_user_access.delay(user.id)
|
update_user_access.delay(user.id)
|
||||||
messages.add_message(request, messages.INFO, "%s has been removed from %s." % (user.username, group.name))
|
messages.add_message(request, messages.INFO, "You have left the group %s" % group.name)
|
||||||
else:
|
|
||||||
messages.add_message(request, messages.INFO, "%s is a admin of %s and cannot be removed." % (user.username, group.name))
|
|
||||||
|
|
||||||
return HttpResponseRedirect(reverse('groups.views.admin_group', args=[groupid]))
|
elif request.user in group.groupinformation.admins.all() or request.user.is_superuser:
|
||||||
|
if not user in group.groupinformation.admins.all():
|
||||||
|
user.groups.remove(group)
|
||||||
|
update_user_access.delay(user.id)
|
||||||
|
messages.add_message(request, messages.INFO, "%s has been removed from %s." % (user.username, group.name))
|
||||||
|
else:
|
||||||
|
messages.add_message(request, messages.INFO, "%s is a admin of %s and cannot be removed." % (user.username, group.name))
|
||||||
|
|
||||||
|
return HttpResponseRedirect(reverse('groups.views.admin_group', args=[groupid]))
|
||||||
|
|
||||||
return HttpResponseRedirect(reverse('groups.views.group_list'))
|
return HttpResponseRedirect(reverse('groups.views.group_list'))
|
||||||
|
|||||||
Reference in New Issue
Block a user