a0c4e72f13
We load stars with the same list API now so that we get the extra metadata needed in the repo list (popularity and last modified)
99 lines
No EOL
2.7 KiB
JavaScript
99 lines
No EOL
2.7 KiB
JavaScript
(function() {
|
|
/**
|
|
* Page that displays details about an organization, such as its teams.
|
|
*/
|
|
angular.module('quayPages').config(['pages', function(pages) {
|
|
pages.create('org-view', 'org-view.html', OrgViewCtrl, {
|
|
'newLayout': true,
|
|
'title': 'Organization {{ organization.name }}',
|
|
'description': 'Organization {{ organization.name }}'
|
|
})
|
|
}]);
|
|
|
|
function OrgViewCtrl($scope, $routeParams, $timeout, ApiService, UIService, AvatarService) {
|
|
var orgname = $routeParams.orgname;
|
|
|
|
$scope.showLogsCounter = 0;
|
|
$scope.showApplicationsCounter = 0;
|
|
$scope.showInvoicesCounter = 0;
|
|
$scope.showRobotsCounter = 0;
|
|
$scope.showTeamsCounter = 0;
|
|
|
|
$scope.orgScope = {
|
|
'changingOrganization': false,
|
|
'organizationEmail': ''
|
|
};
|
|
|
|
$scope.$watch('orgScope.organizationEmail', function(e) {
|
|
UIService.hidePopover('#changeEmailForm input');
|
|
});
|
|
|
|
var loadRepositories = function() {
|
|
var options = {
|
|
'namespace': orgname,
|
|
};
|
|
|
|
$scope.repositoriesResource = ApiService.listReposAsResource().withOptions(options).get(function(resp) {
|
|
return resp.repositories;
|
|
});
|
|
};
|
|
|
|
var loadOrganization = function() {
|
|
$scope.orgResource = ApiService.getOrganizationAsResource({'orgname': orgname}).get(function(org) {
|
|
$scope.organization = org;
|
|
$scope.orgScope.organizationEmail = org.email;
|
|
$scope.isAdmin = org.is_admin;
|
|
$scope.isMember = org.is_member;
|
|
|
|
// Load the repositories.
|
|
$timeout(function() {
|
|
loadRepositories();
|
|
}, 10);
|
|
});
|
|
};
|
|
|
|
// Load the organization.
|
|
loadOrganization();
|
|
|
|
$scope.showRobots = function() {
|
|
$scope.showRobotsCounter++;
|
|
};
|
|
|
|
$scope.showTeams = function() {
|
|
$scope.showTeamsCounter++;
|
|
};
|
|
|
|
$scope.showInvoices = function() {
|
|
$scope.showInvoicesCounter++;
|
|
};
|
|
|
|
$scope.showApplications = function() {
|
|
$scope.showApplicationsCounter++;
|
|
};
|
|
|
|
$scope.showLogs = function() {
|
|
$scope.showLogsCounter++;
|
|
};
|
|
|
|
$scope.changeEmail = function() {
|
|
UIService.hidePopover('#changeEmailForm input');
|
|
|
|
$scope.orgScope.changingOrganization = true;
|
|
var params = {
|
|
'orgname': orgname
|
|
};
|
|
|
|
var data = {
|
|
'email': $scope.orgScope.organizationEmail
|
|
};
|
|
|
|
ApiService.changeOrganizationDetails(data, params).then(function(org) {
|
|
$scope.orgScope.changingOrganization = false;
|
|
$scope.organization = org;
|
|
}, function(result) {
|
|
$scope.orgScope.changingOrganization = false;
|
|
UIService.showFormError('#changeEmailForm input', result, 'right');
|
|
});
|
|
};
|
|
}
|
|
})(); |