This repository has been archived on 2020-03-24. You can view files and clone it, but cannot push or open issues or pull requests.
quay/static/js/pages/org-view.js

110 lines
2.9 KiB
JavaScript
Raw Normal View History

(function() {
/**
* Page that displays details about an organization, such as its teams.
*/
angular.module('quayPages').config(['pages', function(pages) {
2015-03-25 19:31:05 +00:00
pages.create('org-view', 'org-view.html', OrgViewCtrl, {
'newLayout': true,
'title': 'Organization {{ organization.name }}',
'description': 'Organization {{ organization.name }}'
2015-06-29 09:33:00 +00:00
})
}]);
function OrgViewCtrl($scope, $routeParams, $timeout, ApiService, UIService, AvatarService, Config, Features) {
2015-03-25 19:31:05 +00:00
var orgname = $routeParams.orgname;
$scope.namespace = orgname;
2015-03-25 19:31:05 +00:00
$scope.showLogsCounter = 0;
$scope.showApplicationsCounter = 0;
$scope.showBillingCounter = 0;
$scope.showRobotsCounter = 0;
$scope.showTeamsCounter = 0;
$scope.changeEmailInfo = null;
$scope.context = {};
2015-03-25 19:31:05 +00:00
$scope.Config = Config;
$scope.Features = Features;
2015-03-30 22:44:23 +00:00
$scope.orgScope = {
'changingOrganization': false,
'organizationEmail': ''
};
$scope.$watch('orgScope.organizationEmail', function(e) {
UIService.hidePopover('#changeEmailForm input');
2015-03-25 19:31:05 +00:00
});
var loadRepositories = function() {
var options = {
'namespace': orgname,
'public': true,
'last_modified': true,
'popularity': true
2015-03-25 19:31:05 +00:00
};
$scope.organization.repositories = ApiService.listReposAsResource().withOptions(options).get(function(resp) {
2015-03-25 19:31:05 +00:00
return resp.repositories;
});
};
var loadOrganization = function() {
$scope.orgResource = ApiService.getOrganizationAsResource({'orgname': orgname}).get(function(org) {
$scope.organization = org;
2015-03-30 22:44:23 +00:00
$scope.orgScope.organizationEmail = org.email;
2015-03-25 19:31:05 +00:00
$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.showBilling = function() {
$scope.showBillingCounter = true;
2015-03-25 19:31:05 +00:00
};
$scope.showApplications = function() {
$scope.showApplicationsCounter++;
};
$scope.showLogs = function() {
$scope.showLogsCounter++;
};
$scope.showChangeEmail = function() {
$scope.changeEmailInfo = {
'email': $scope.organization.email
};
};
2015-03-25 19:31:05 +00:00
$scope.changeEmail = function(info, callback) {
2015-03-25 19:31:05 +00:00
var params = {
'orgname': orgname
};
var details = {
'email': $scope.changeEmailInfo.email
2015-03-25 19:31:05 +00:00
};
var errorDisplay = ApiService.errorDisplay('Could not change email address', callback);
ApiService.changeOrganizationDetails(details, params).then(function() {
$scope.organization.email = $scope.changeEmailInfo.email;
callback(true);
}, errorDisplay);
2015-03-25 19:31:05 +00:00
};
}
})();