def remove_member(request, team_id, user_id):
team = get_object_or_404(models.Team, pk=team_id)
# Only staff and team's captain can edit team
if not request.user.is_staff and team.captain != request.user:
return HttpResponseNotFound()
user = get_object_or_404(users_models.User, pk=user_id)
with transaction.atomic():
if user == team.captain:
messages.warning(request, 'Captain can\'t leave the team')
return redirect(team)
if user not in team.members.all():
messages.warning(request, 'User %s not in the team' % (user.username,))
return redirect(team)
team.members.remove(user)
team.save()
messages.success(request, 'User %s has left the team %s' % (user.username, team.name))
return redirect(team)
评论列表
文章目录