def delete(self, request, group_name):
"""
Delete a group. The user has to be an admin or the creator of the group
Args:
request: Django rest framework request
group_name: Group name from the request
Returns:
Http status of the request
"""
try:
group = Group.objects.get(name=group_name)
bgroup = BossGroup.objects.get(group=group)
bpm = BossPrivilegeManager(request.user)
if request.user == bgroup.creator or bpm.has_role('admin'):
group.delete()
return Response(status=204)
else:
return BossHTTPError('Groups can only be deleted by the creator or administrator',
ErrorCodes.MISSING_ROLE)
except Group.DoesNotExist:
return BossGroupNotFoundError(group_name)
评论列表
文章目录