Work in progress: Start on org view

This commit is contained in:
Joseph Schorr 2013-11-04 16:39:29 -05:00
parent 0175bd91bf
commit ba7360f2a9
5 changed files with 17 additions and 8 deletions

View file

@ -276,6 +276,13 @@ def get_organization_team_members(teamid):
query = joined.where(Team.id == teamid) query = joined.where(Team.id == teamid)
return query return query
def get_teams_within_org(organization):
joined = Team.select().join(TeamMember)
return joined.where(Team.organization == organization)
def get_user_teams_within_org(username, organization): def get_user_teams_within_org(username, organization):
joined = Team.select().join(TeamMember).join(User) joined = Team.select().join(TeamMember).join(User)
return joined.where(Team.organization == organization, return joined.where(Team.organization == organization,

View file

@ -241,10 +241,13 @@ user_files = UserRequestFiles(app.config['AWS_ACCESS_KEY'],
@app.route('/api/organization/<orgname>', methods=['GET']) @app.route('/api/organization/<orgname>', methods=['GET'])
def get_organization(orgname): def get_organization(orgname):
user = current_user.db_user()
def team_view(t): def team_view(t):
return { return {
'id': t.id, 'id': t.id,
'name': t.name 'name': t.name,
'is_member': False
} }
def org_view(o, teams): def org_view(o, teams):
@ -257,12 +260,11 @@ def get_organization(orgname):
if current_user.is_anonymous(): if current_user.is_anonymous():
abort(404) abort(404)
user = current_user.db_user()
org = model.get_organization(orgname) org = model.get_organization(orgname)
if not org: if not org:
abort(404) abort(404)
teams = model.get_user_teams_within_org(user.username, org) teams = model.get_teams_within_org(org)
return jsonify(org_view(org, teams)) return jsonify(org_view(org, teams))

View file

@ -204,7 +204,6 @@ quayApp = angular.module('quay', ['restangular', 'angularMoment', 'angulartics',
when('/organization/:orgname', {templateUrl: '/static/partials/org-view.html', controller: OrgViewCtrl}). when('/organization/:orgname', {templateUrl: '/static/partials/org-view.html', controller: OrgViewCtrl}).
when('/organization/:orgname/admin', {templateUrl: '/static/partials/org-admin.html', controller: OrgAdminCtrl}). when('/organization/:orgname/admin', {templateUrl: '/static/partials/org-admin.html', controller: OrgAdminCtrl}).
when('/organization/:orgname/teams', {templateUrl: '/static/partials/org-teams.html', controller: OrgTeamsCtrl}).
when('/organization/:orgname/teams/:teamname', {templateUrl: '/static/partials/team-view.html', controller: TeamViewCtrl}). when('/organization/:orgname/teams/:teamname', {templateUrl: '/static/partials/team-view.html', controller: TeamViewCtrl}).
when('/v1/', {title: 'Activation information', templateUrl: '/static/partials/v1-page.html', controller: V1Ctrl}). when('/v1/', {title: 'Activation information', templateUrl: '/static/partials/v1-page.html', controller: V1Ctrl}).

View file

@ -1197,10 +1197,6 @@ function OrgAdminCtrl($scope, Restangular, $routeParams) {
var orgname = $routeParams.orgname; var orgname = $routeParams.orgname;
} }
function OrgTeamsCtrl($scope, Restangular, $routeParams) {
var orgname = $routeParams.orgname;
}
function TeamViewCtrl($rootScope, $scope, Restangular, $routeParams) { function TeamViewCtrl($rootScope, $scope, Restangular, $routeParams) {
$('.info-icon').popover({ $('.info-icon').popover({
'trigger': 'hover', 'trigger': 'hover',

View file

@ -8,4 +8,9 @@
<div class="org-view container" ng-show="!loading && organization"> <div class="org-view container" ng-show="!loading && organization">
<div class="organization-header" organization="organization"></div> <div class="organization-header" organization="organization"></div>
<div ng-repeat="team in organization.teams">
<i class="fa fa-group"></i>
<span><a href="/organization/{{ organization.name }}/teams/{{ team.name }}">{{ team.name }}</a></span>
</div>
</div> </div>