New team view interface

This commit is contained in:
Joseph Schorr 2014-08-15 20:51:31 -04:00
parent 56d7a3524d
commit 7d7cca39cc
8 changed files with 173 additions and 45 deletions

View file

@ -8,6 +8,7 @@ from auth.auth_context import get_authenticated_user
from auth import scopes
from data import model
from util.useremails import send_org_invite_email
from util.gravatar import compute_hash
def add_or_invite_to_team(team, user=None, email=None, adder=None):
invite = model.add_or_invite_to_team(team, user, email, adder)
@ -44,6 +45,7 @@ def member_view(member, invited=False):
'name': member.username,
'kind': 'user',
'is_robot': member.robot,
'gravatar': compute_hash(member.email) if not member.robot else None,
'invited': invited,
}
@ -55,6 +57,7 @@ def invite_view(invite):
return {
'email': invite.email,
'kind': 'invite',
'gravatar': compute_hash(invite.email),
'invited': True
}
@ -162,14 +165,15 @@ class TeamMemberList(ApiResource):
raise NotFound()
members = model.get_organization_team_members(team.id)
data = {
'members': {m.username : member_view(m) for m in members},
'can_edit': edit_permission.can()
}
invites = []
if args['includePending'] and edit_permission.can():
invites = model.get_organization_team_member_invites(team.id)
data['pending'] = [invite_view(i) for i in invites]
data = {
'members': [member_view(m) for m in members] + [invite_view(i) for i in invites],
'can_edit': edit_permission.can()
}
return data