You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by ak...@apache.org on 2016/06/17 10:36:22 UTC
ambari git commit: AMBARI-17278. Unable to delete permission with
type VIEW (akovalenko)
Repository: ambari
Updated Branches:
refs/heads/trunk 978cc64e2 -> b6cb758b5
AMBARI-17278. Unable to delete permission with type VIEW (akovalenko)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/b6cb758b
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/b6cb758b
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/b6cb758b
Branch: refs/heads/trunk
Commit: b6cb758b54c00986cd58d8e39ca594ab737c6fc1
Parents: 978cc64
Author: Aleksandr Kovalenko <ak...@hortonworks.com>
Authored: Fri Jun 17 13:35:35 2016 +0300
Committer: Aleksandr Kovalenko <ak...@hortonworks.com>
Committed: Fri Jun 17 13:35:35 2016 +0300
----------------------------------------------------------------------
.../controllers/groups/GroupsEditCtrl.js | 38 ++++++----
.../scripts/controllers/users/UsersShowCtrl.js | 38 ++++++----
.../app/scripts/services/PermissionsSaver.js | 77 --------------------
.../ui/admin-web/app/scripts/services/View.js | 7 +-
4 files changed, 49 insertions(+), 111 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/b6cb758b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/groups/GroupsEditCtrl.js
----------------------------------------------------------------------
diff --git a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/groups/GroupsEditCtrl.js b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/groups/GroupsEditCtrl.js
index 68bf3e5..2e7830b 100644
--- a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/groups/GroupsEditCtrl.js
+++ b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/groups/GroupsEditCtrl.js
@@ -18,7 +18,7 @@
'use strict';
angular.module('ambariAdminConsole')
-.controller('GroupsEditCtrl',['$scope', 'Group', '$routeParams', 'Cluster', 'Alert', 'ConfirmationModal', '$location', '$translate', function($scope, Group, $routeParams, Cluster, Alert, ConfirmationModal, $location, $translate) {
+.controller('GroupsEditCtrl',['$scope', 'Group', '$routeParams', 'Cluster', 'View', 'Alert', 'ConfirmationModal', '$location', '$translate', function($scope, Group, $routeParams, Cluster, View, Alert, ConfirmationModal, $location, $translate) {
var $t = $translate.instant;
$scope.constants = {
group: $t('common.group'),
@@ -92,26 +92,36 @@ angular.module('ambariAdminConsole')
nameFilter : group.group_name,
typeFilter : {value: 'GROUP'}
}).then(function(data) {
- var deleteCallback = function () {
- group.destroy().then(function() {
- $location.path('/groups');
- });
- };
- var privilegesIds = [];
+ var clusterPrivilegesIds = [];
+ var viewsPrivileges = [];
if (data.items && data.items.length) {
angular.forEach(data.items[0].privileges, function(privilege) {
if (privilege.PrivilegeInfo.principal_type === 'GROUP') {
- privilegesIds.push(privilege.PrivilegeInfo.privilege_id);
+ if (privilege.PrivilegeInfo.type === 'VIEW') {
+ viewsPrivileges.push({
+ id: privilege.PrivilegeInfo.privilege_id,
+ view_name: privilege.PrivilegeInfo.view_name,
+ version: privilege.PrivilegeInfo.version,
+ instance_name: privilege.PrivilegeInfo.instance_name
+ });
+ } else {
+ clusterPrivilegesIds.push(privilege.PrivilegeInfo.privilege_id);
+ }
}
});
}
- if (privilegesIds.length) {
- Cluster.deleteMultiplePrivileges($routeParams.id, privilegesIds).then(function() {
- deleteCallback();
+ group.destroy().then(function() {
+ $location.path('/groups');
+ if (clusterPrivilegesIds.length) {
+ Cluster.getAllClusters().then(function (clusters) {
+ var clusterName = clusters[0].Clusters.cluster_name;
+ Cluster.deleteMultiplePrivileges(clusterName, clusterPrivilegesIds);
+ });
+ }
+ angular.forEach(viewsPrivileges, function(privilege) {
+ View.deletePrivilege(privilege);
});
- } else {
- deleteCallback();
- }
+ });
});
});
};
http://git-wip-us.apache.org/repos/asf/ambari/blob/b6cb758b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/users/UsersShowCtrl.js
----------------------------------------------------------------------
diff --git a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/users/UsersShowCtrl.js b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/users/UsersShowCtrl.js
index f2c2467..3beb42a 100644
--- a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/users/UsersShowCtrl.js
+++ b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/users/UsersShowCtrl.js
@@ -18,7 +18,7 @@
'use strict';
angular.module('ambariAdminConsole')
-.controller('UsersShowCtrl', ['$scope', '$routeParams', 'Cluster', 'User', '$modal', '$location', 'ConfirmationModal', 'Alert', 'Auth', 'getDifference', 'Group', '$q', '$translate', function($scope, $routeParams, Cluster, User, $modal, $location, ConfirmationModal, Alert, Auth, getDifference, Group, $q, $translate) {
+.controller('UsersShowCtrl', ['$scope', '$routeParams', 'Cluster', 'User', 'View', '$modal', '$location', 'ConfirmationModal', 'Alert', 'Auth', 'getDifference', 'Group', '$q', '$translate', function($scope, $routeParams, Cluster, User, View, $modal, $location, ConfirmationModal, Alert, Auth, getDifference, Group, $q, $translate) {
var $t = $translate.instant;
@@ -183,26 +183,36 @@ angular.module('ambariAdminConsole')
nameFilter : $scope.user.user_name,
typeFilter : {value: 'USER'}
}).then(function(data) {
- var privilegesIds = [];
- var deleteCallback = function () {
- User.delete($scope.user.user_name).then(function() {
- $location.path('/users');
- });
- };
+ var clusterPrivilegesIds = [];
+ var viewsPrivileges = [];
if (data.items && data.items.length) {
angular.forEach(data.items[0].privileges, function(privilege) {
if (privilege.PrivilegeInfo.principal_type === 'USER') {
- privilegesIds.push(privilege.PrivilegeInfo.privilege_id);
+ if (privilege.PrivilegeInfo.type === 'VIEW') {
+ viewsPrivileges.push({
+ id: privilege.PrivilegeInfo.privilege_id,
+ view_name: privilege.PrivilegeInfo.view_name,
+ version: privilege.PrivilegeInfo.version,
+ instance_name: privilege.PrivilegeInfo.instance_name
+ });
+ } else {
+ clusterPrivilegesIds.push(privilege.PrivilegeInfo.privilege_id);
+ }
}
});
}
- if (privilegesIds.length) {
- Cluster.deleteMultiplePrivileges($routeParams.id, privilegesIds).then(function() {
- deleteCallback();
+ User.delete($scope.user.user_name).then(function() {
+ $location.path('/users');
+ if (clusterPrivilegesIds.length) {
+ Cluster.getAllClusters().then(function (clusters) {
+ var clusterName = clusters[0].Clusters.cluster_name;
+ Cluster.deleteMultiplePrivileges(clusterName, clusterPrivilegesIds);
+ });
+ }
+ angular.forEach(viewsPrivileges, function(privilege) {
+ View.deletePrivilege(privilege);
});
- } else {
- deleteCallback();
- }
+ });
});
});
};
http://git-wip-us.apache.org/repos/asf/ambari/blob/b6cb758b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/services/PermissionsSaver.js
----------------------------------------------------------------------
diff --git a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/services/PermissionsSaver.js b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/services/PermissionsSaver.js
index bc53dad..c7b9295 100644
--- a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/services/PermissionsSaver.js
+++ b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/services/PermissionsSaver.js
@@ -73,83 +73,6 @@ angular.module('ambariAdminConsole')
}
return resource.updatePrivileges(params, arr);
}
-
- function savePermissionsForOld(resource, oldPermissions, newPermissions, params){
- var deferred = $q.defer();
-
- var addArr = [];
- var delArr = [];
- angular.forEach(newPermissions, function(permission) {
- // Sanitize input
- var users = permission.USER.toString().split(',').filter(function(item) {return item.trim();}).map(function(item) {return item.trim()});
- var groups = permission.GROUP.toString().split(',').filter(function(item) {return item.trim();}).map(function(item) {return item.trim()});
-
- var userObj = getDifference(angular.copy(oldPermissions[permission.PermissionInfo.permission_name].USER) , users);
- var groupObj = getDifference(angular.copy(oldPermissions[permission.PermissionInfo.permission_name].GROUP) , groups);
-
- // Build Add array
- addArr = addArr.concat(userObj.add.map(function(user) {
- return {
- 'PrivilegeInfo':{
- 'permission_name': permission.PermissionInfo.permission_name,
- 'principal_name': user,
- 'principal_type': 'USER'
- }
- }
- }));
- addArr = addArr.concat(groupObj.add.map(function(group) {
- return {
- 'PrivilegeInfo':{
- 'permission_name': permission.PermissionInfo.permission_name,
- 'principal_name': group,
- 'principal_type': 'GROUP'
- }
- }
- }));
-
- // Build del array
- delArr = delArr.concat(userObj.del.map(function(user) {
- return {
- 'PrivilegeInfo':{
- 'permission_name': permission.PermissionInfo.permission_name,
- 'principal_name': user,
- 'principal_type': 'USER'
- }
- }
- }));
- delArr = delArr.concat(groupObj.del.map(function(group) {
- return {
- 'PrivilegeInfo':{
- 'permission_name': permission.PermissionInfo.permission_name,
- 'principal_name': group,
- 'principal_type': 'GROUP'
- }
- }
- }));
- });
-
- if(addArr.length){
- resource.createPrivileges(params, addArr)
- .then(function() {
- deferred.resolve();
- })
- .catch(function(data) {
- deferred.reject(data);
- });
- }
-
- if(delArr.length){
- resource.deletePrivileges(params, delArr)
- .then(function() {
- deferred.resolve();
- })
- .catch(function(data) {
- deferred.resolve(data);
- });
- }
-
- return deferred.promise;
- }
function passOneRoleCheck(arr) {
var hashes = {};
http://git-wip-us.apache.org/repos/asf/ambari/blob/b6cb758b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/services/View.js
----------------------------------------------------------------------
diff --git a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/services/View.js b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/services/View.js
index fbe0ec1..5bc0509 100644
--- a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/services/View.js
+++ b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/services/View.js
@@ -378,12 +378,7 @@ angular.module('ambariAdminConsole')
View.deletePrivilege = function(params) {
return $http({
method: 'DELETE',
- url: Settings.baseUrl + '/views/' + params.view_name +'/versions/'+params.version+'/instances/'+params.instance_name+'/privileges',
- params: {
- 'PrivilegeInfo/principal_type': params.principalType,
- 'PrivilegeInfo/principal_name': params.principalName,
- 'PrivilegeInfo/permission_name': params.permissionName
- }
+ url: Settings.baseUrl + '/views/' + params.view_name +'/versions/'+params.version+'/instances/'+params.instance_name+'/privileges/'+params.id
});
};