Add team permissions support

This commit is contained in:
Joseph Schorr 2013-11-04 22:58:21 -05:00
parent 97fa69a361
commit 1cd4fa8d9b
6 changed files with 120 additions and 39 deletions

View file

@ -112,6 +112,10 @@ def create_team(name, org, team_role_name, description=''):
description=description)
def remove_team(name, org):
# TODO: have code to remove the team, and all its repo permissions, etc.
pass
def add_user_to_team(user, team):
return TeamMember.create(user=user, team=team)
@ -124,29 +128,16 @@ def remove_user_from_team(user, team):
raise InvalidTeamException('User does not belong to team.')
def set_team_org_permission(team, org, team_role_name):
new_role = TeamRole.get(TeamRole.name == tean_role_name)
def get_team_org_role(team):
return TeamRole.get(TeamRole.id == team.role.id)
def set_team_org_permission(team, team_role_name):
new_role = TeamRole.get(TeamRole.name == team_role_name)
team.role = new_role
team.save()
return team
def set_team_org_permission(team, org, role_name):
new_role = Role.get(Role.name == role_name)
# Fetch any existing permission for this user on the repo
try:
perm = TeamPermission.get(TeamPermission.team == team,
TeamPermission.organization == org)
perm.role = new_role
perm.save()
return perm
except TeamPermission.DoesNotExist:
new_perm = TeamPermission.create(team=team, organization=org,
role=new_role)
return new_perm
def create_federated_user(username, email, service_name, service_id):
new_user = create_user(username, None, email)
new_user.verified = True