Work in progress: Add the team management page

This commit is contained in:
Joseph Schorr 2013-11-04 14:56:54 -05:00
parent 100ec563fa
commit ecbd1f1ef3
9 changed files with 272 additions and 6 deletions

View file

@ -117,6 +117,14 @@ def add_user_to_team(user, team):
return TeamMember.create(user=user, team=team)
def remove_user_from_team(user, team):
try:
found = TeamMember.get(user = user, team = team)
found.delete_instance()
except TeamMember.DoesNotExist:
return
def set_team_org_permission(team, org, role_name):
new_role = Role.get(Role.name == role_name)
@ -242,11 +250,26 @@ def get_user_organizations(username):
def get_organization(name):
try:
return User.get(username=name, organization=True)
return User.get(username = name, organization = True)
except User.DoesNotExist:
raise InvalidOrganizationException('Organization does not exist: %s' %
name)
def get_organization_team(orgname, teamname):
joined = Team.select().join(User)
query = joined.where(Team.name == teamname, User.organization == True, User.username == orgname).limit(1)
result = list(query)
if not result:
raise InvalidTeamException('Team does not exist: %s/%s', orgname, teamname)
return result[0]
def get_organization_team_members(teamid):
joined = User.select().join(TeamMember).join(Team)
query = joined.where(Team.id == teamid)
return query
def get_user_teams_within_org(username, organization):
joined = Team.select().join(TeamMember).join(User)