Fill in the remove team methods.

This commit is contained in:
yackob03 2013-11-05 15:50:56 -05:00
parent d2601c6fe4
commit 427ffea6b7
2 changed files with 15 additions and 7 deletions

View file

@ -112,9 +112,17 @@ 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 remove_team(org_name, team_name):
found = list(Team.select().join(User).where(User.organization == True,
User.username == org_name,
Team.name == team_name))
if not found:
raise InvalidTeamException('Team named: %s is not a team in org: %s' %
(team_name, org_name))
team = found[0]
team.delete_instance(recursive=True, delete_nullable=True)
def add_user_to_team(user, team):
return TeamMember.create(user=user, team=team)
@ -207,7 +215,7 @@ def validate_reset_code(code):
def get_user(username):
try:
return User.get(User.username == username)
return User.get(User.username == username, User.organization == False)
except User.DoesNotExist:
return None

View file

@ -346,9 +346,9 @@ def update_organization_team(orgname, teamname):
@app.route('/api/organization/<orgname>/team/<teamname>',
methods=['DELETE'])
def delete_organization_team(orgname, teamname):
edit_permission = AdministerOrganizationPermission(orgname)
if edit_permission.can():
model.remove_team(teamname, orgname)
permission = AdministerOrganizationPermission(orgname)
if permission.can():
model.remove_team(orgname, teamname)
return make_response('Deleted', 204)
abort(403)