Work in progress: Continue on org view
This commit is contained in:
parent
17a07ea6e0
commit
b56bb92801
4 changed files with 18 additions and 5 deletions
|
@ -279,8 +279,7 @@ def get_organization_team_members(teamid):
|
||||||
|
|
||||||
|
|
||||||
def get_teams_within_org(organization):
|
def get_teams_within_org(organization):
|
||||||
joined = Team.select().join(TeamMember)
|
return Team.select().where(Team.organization == organization)
|
||||||
return joined.where(Team.organization == organization)
|
|
||||||
|
|
||||||
|
|
||||||
def get_user_teams_within_org(username, organization):
|
def get_user_teams_within_org(username, organization):
|
||||||
|
|
|
@ -244,17 +244,20 @@ def get_organization(orgname):
|
||||||
user = current_user.db_user()
|
user = current_user.db_user()
|
||||||
|
|
||||||
def team_view(t):
|
def team_view(t):
|
||||||
|
view_permission = ViewTeamPermission(orgname, t.name)
|
||||||
return {
|
return {
|
||||||
'id': t.id,
|
'id': t.id,
|
||||||
'name': t.name,
|
'name': t.name,
|
||||||
'is_member': False
|
'can_view': view_permission.can()
|
||||||
}
|
}
|
||||||
|
|
||||||
def org_view(o, teams):
|
def org_view(o, teams):
|
||||||
|
admin_org = AdministerOrganizationPermission(orgname)
|
||||||
return {
|
return {
|
||||||
'name': o.username,
|
'name': o.username,
|
||||||
'gravatar': compute_hash(o.email),
|
'gravatar': compute_hash(o.email),
|
||||||
'teams': [team_view(t) for t in teams]
|
'teams': [team_view(t) for t in teams],
|
||||||
|
'is_admin': admin_org.can()
|
||||||
}
|
}
|
||||||
|
|
||||||
if current_user.is_anonymous():
|
if current_user.is_anonymous():
|
||||||
|
|
|
@ -1238,6 +1238,8 @@ function TeamViewCtrl($rootScope, $scope, Restangular, $routeParams) {
|
||||||
$scope.organization = resp;
|
$scope.organization = resp;
|
||||||
$scope.loading = !$scope.organization || !$scope.members;
|
$scope.loading = !$scope.organization || !$scope.members;
|
||||||
}, function() {
|
}, function() {
|
||||||
|
$scope.organization = null;
|
||||||
|
$scope.members = null;
|
||||||
$scope.loading = false;
|
$scope.loading = false;
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
@ -1250,6 +1252,8 @@ function TeamViewCtrl($rootScope, $scope, Restangular, $routeParams) {
|
||||||
$scope.loading = !$scope.organization || !$scope.members;
|
$scope.loading = !$scope.organization || !$scope.members;
|
||||||
$rootScope.title = teamname + ' (' + orgname + ')';
|
$rootScope.title = teamname + ' (' + orgname + ')';
|
||||||
}, function() {
|
}, function() {
|
||||||
|
$scope.organization = null;
|
||||||
|
$scope.members = null;
|
||||||
$scope.loading = false;
|
$scope.loading = false;
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
|
@ -11,6 +11,13 @@
|
||||||
|
|
||||||
<div ng-repeat="team in organization.teams">
|
<div ng-repeat="team in organization.teams">
|
||||||
<i class="fa fa-group"></i>
|
<i class="fa fa-group"></i>
|
||||||
<span><a href="/organization/{{ organization.name }}/teams/{{ team.name }}">{{ team.name }}</a></span>
|
|
||||||
|
<span ng-show="team.can_view">
|
||||||
|
<a href="/organization/{{ organization.name }}/teams/{{ team.name }}">{{ team.name }}</a>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
<span ng-show="!team.can_view">
|
||||||
|
{{ team.name }}
|
||||||
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
Reference in a new issue