New create entity dialogs (team and robot)
Fixes https://github.com/coreos-inc/design/issues/230
This commit is contained in:
parent
2274d6ff84
commit
4a543be7a7
31 changed files with 687 additions and 232 deletions
|
@ -28,7 +28,7 @@ angular.module('quay').directive('repositoryPermissionsTable', function () {
|
|||
'repository': '=repository',
|
||||
'isEnabled': '=isEnabled'
|
||||
},
|
||||
controller: function($scope, $element, ApiService, Restangular, UtilService, RolesService) {
|
||||
controller: function($scope, $element, ApiService, RolesService) {
|
||||
$scope.permissionResources = {'team': {}, 'user': {}};
|
||||
$scope.permissionCache = {};
|
||||
$scope.permissions = {};
|
||||
|
@ -69,13 +69,6 @@ angular.module('quay').directive('repositoryPermissionsTable', function () {
|
|||
|
||||
loadAllPermissions();
|
||||
|
||||
var getPermissionEndpoint = function(entityName, kind) {
|
||||
var namespace = $scope.repository.namespace;
|
||||
var name = $scope.repository.name;
|
||||
var url = UtilService.getRestUrl('repository', namespace, name, 'permissions', kind, entityName);
|
||||
return Restangular.one(url);
|
||||
};
|
||||
|
||||
$scope.buildEntityForPermission = function(permission, kind) {
|
||||
var key = permission.name + ':' + kind;
|
||||
if ($scope.permissionCache[key]) {
|
||||
|
@ -146,51 +139,36 @@ angular.module('quay').directive('repositoryPermissionsTable', function () {
|
|||
};
|
||||
|
||||
$scope.deleteRole = function(entityName, kind) {
|
||||
var errorHandler = ApiService.errorDisplay('Cannot change permission', function(resp) {
|
||||
if (resp.status == 409) {
|
||||
return 'Cannot change permission as you do not have the authority';
|
||||
RolesService.deleteRepositoryRole($scope.repository, kind, entityName, function(status) {
|
||||
if (status) {
|
||||
delete $scope.permissions[kind][entityName];
|
||||
}
|
||||
});
|
||||
|
||||
var endpoint = getPermissionEndpoint(entityName, kind);
|
||||
endpoint.customDELETE().then(function() {
|
||||
delete $scope.permissions[kind][entityName];
|
||||
}, errorHandler);
|
||||
};
|
||||
|
||||
$scope.addRole = function(entityName, role, kind, opt_callback) {
|
||||
var permission = {
|
||||
'role': role,
|
||||
};
|
||||
|
||||
var errorHandler = ApiService.errorDisplay('Cannot change permission', function() {
|
||||
opt_callback && opt_callback(false);
|
||||
RolesService.setRepositoryRole($scope.repository, role, kind, entityName, function(status, result) {
|
||||
$scope.addPermissionInfo = {
|
||||
'role': readRole
|
||||
};
|
||||
|
||||
if (status) {
|
||||
$scope.permissions[kind][entityName] = result;
|
||||
}
|
||||
|
||||
opt_callback && opt_callback(status);
|
||||
});
|
||||
|
||||
var endpoint = getPermissionEndpoint(entityName, kind);
|
||||
endpoint.customPUT(permission).then(function(result) {
|
||||
$scope.permissions[kind][entityName] = result;
|
||||
$scope.addPermissionInfo = {
|
||||
'role': readRole
|
||||
};
|
||||
opt_callback && opt_callback(true)
|
||||
}, errorHandler);
|
||||
};
|
||||
|
||||
$scope.setRole = function(role, entityName, kind) {
|
||||
var errorDisplay = ApiService.errorDisplay(function(resp) {
|
||||
$scope.permissions[kind][entityName] = {'role': currentRole};
|
||||
var currentRole = $scope.permissions[kind][entityName].role;
|
||||
RolesService.setRepositoryRole($scope.repository, role, kind, entityName, function(status) {
|
||||
if (status) {
|
||||
$scope.permissions[kind][entityName]['role'] = role;
|
||||
} else {
|
||||
$scope.permissions[kind][entityName]['role'] = currentRole;
|
||||
}
|
||||
});
|
||||
|
||||
var permission = $scope.permissions[kind][entityName];
|
||||
var currentRole = permission.role;
|
||||
permission.role = role;
|
||||
|
||||
var endpoint = getPermissionEndpoint(entityName, kind);
|
||||
endpoint.customPUT(permission).then(function() {}, errorDisplay);
|
||||
};
|
||||
}
|
||||
};
|
||||
|
|
Reference in a new issue