You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by al...@apache.org on 2016/06/04 10:16:02 UTC
ambari git commit: AMBARI-17042. Refine Role page UI display
(alexantonenko)
Repository: ambari
Updated Branches:
refs/heads/branch-2.4 735f68d35 -> 12d7e9ec9
AMBARI-17042. Refine Role page UI display (alexantonenko)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/12d7e9ec
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/12d7e9ec
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/12d7e9ec
Branch: refs/heads/branch-2.4
Commit: 12d7e9ec98ea06fa4b49b01e193e7953a15b3d9b
Parents: 735f68d
Author: Alex Antonenko <hi...@gmail.com>
Authored: Sat Jun 4 12:15:13 2016 +0300
Committer: Alex Antonenko <hi...@gmail.com>
Committed: Sat Jun 4 13:15:56 2016 +0300
----------------------------------------------------------------------
.../ui/admin-web/app/scripts/i18n.config.js | 3 +-
.../admin-web/app/scripts/services/Cluster.js | 2 ++
.../app/scripts/services/RoleDetailsModal.js | 32 ++++++++++++++------
.../resources/ui/admin-web/app/styles/main.css | 9 ++++++
.../app/views/modals/RoleDetailsModal.html | 17 ++++++++---
5 files changed, 48 insertions(+), 15 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/12d7e9ec/ambari-admin/src/main/resources/ui/admin-web/app/scripts/i18n.config.js
----------------------------------------------------------------------
diff --git a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/i18n.config.js b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/i18n.config.js
index 7474d5f..6fe46dc 100644
--- a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/i18n.config.js
+++ b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/i18n.config.js
@@ -352,7 +352,8 @@ angular.module('ambariAdminConsole')
'ambariAdmin': 'Ambari Administrator',
'viewUser': 'View User',
'none': 'None',
- 'oneRolePerUser': 'Only 1 role allowed per user'
+ 'oneRolePerUser': 'Only 1 role allowed per user',
+ 'permissionLevel': '{{level}}-level Permissions'
},
'alerts': {
http://git-wip-us.apache.org/repos/asf/ambari/blob/12d7e9ec/ambari-admin/src/main/resources/ui/admin-web/app/scripts/services/Cluster.js
----------------------------------------------------------------------
diff --git a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/services/Cluster.js b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/services/Cluster.js
index c1cf221..33ed7ed 100644
--- a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/services/Cluster.js
+++ b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/services/Cluster.js
@@ -78,6 +78,8 @@ angular.module('ambariAdminConsole')
"AMBARI.SET_SERVICE_USERS_GROUPS"
],
+ orderedLevels: ['SERVICE', 'HOST', 'CLUSTER', 'AMBARI'],
+
ineditableRoles : ['VIEW.USER', 'AMBARI.ADMINISTRATOR'],
getAllClusters: function() {
http://git-wip-us.apache.org/repos/asf/ambari/blob/12d7e9ec/ambari-admin/src/main/resources/ui/admin-web/app/scripts/services/RoleDetailsModal.js
----------------------------------------------------------------------
diff --git a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/services/RoleDetailsModal.js b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/services/RoleDetailsModal.js
index 7c03f4d..5a14b33 100644
--- a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/services/RoleDetailsModal.js
+++ b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/services/RoleDetailsModal.js
@@ -36,20 +36,34 @@ angular.module('ambariAdminConsole')
$scope.title = '';
$scope.orderedRoles = ['AMBARI.ADMINISTRATOR'].concat(Cluster.orderedRoles).reverse();
$scope.orderedAuthorizations = Cluster.orderedAuthorizations;
+ $scope.orderedLevels = Cluster.orderedLevels;
$scope.authHash = {};
- roles.map(function(r) {
- r.authorizations.map(function(auth) {
- $scope.authHash[auth.authorization_id] = auth.authorization_name;
+ $scope.getLevelName = function (key) {
+ return key.charAt(0) + key.slice(1).toLowerCase();
+ };
+ angular.forEach(roles, function (r) {
+ angular.forEach(r.authorizations, function (auth) {
+ var match = auth.authorization_id.match(/(\w+)\./),
+ levelKey = match && match[1],
+ isLevelDisplayed = $scope.orderedAuthorizations.some(function (item) {
+ return !item.indexOf(levelKey);
+ });
+ if (isLevelDisplayed) {
+ if (!$scope.authHash[levelKey]) {
+ $scope.authHash[levelKey] = {};
+ }
+ if (!$scope.authHash[levelKey][auth.authorization_id]) {
+ $scope.authHash[levelKey][auth.authorization_id] = auth.authorization_name;
+ }
+ if (!r.authHash) {
+ r.authHash = {};
+ }
+ r.authHash[auth.authorization_id] = true;
+ }
});
});
$scope.roles = roles.sort(function(a, b) {
return $scope.orderedRoles.indexOf(a.permission_name) - $scope.orderedRoles.indexOf(b.permission_name);
- }).map(function(r) {
- r.authHash = {};
- r.authorizations.map(function(a) {
- r.authHash[a.authorization_id] = true;
- });
- return r;
});
$scope.ok = function() {
$modalInstance.dismiss();
http://git-wip-us.apache.org/repos/asf/ambari/blob/12d7e9ec/ambari-admin/src/main/resources/ui/admin-web/app/styles/main.css
----------------------------------------------------------------------
diff --git a/ambari-admin/src/main/resources/ui/admin-web/app/styles/main.css b/ambari-admin/src/main/resources/ui/admin-web/app/styles/main.css
index 12f44bb..542177d 100644
--- a/ambari-admin/src/main/resources/ui/admin-web/app/styles/main.css
+++ b/ambari-admin/src/main/resources/ui/admin-web/app/styles/main.css
@@ -1841,6 +1841,15 @@ thead.view-permission-header > tr > th {
visibility: hidden;
}
+.role-details-modal .table-section-title {
+ font-weight: bold;
+}
+
+.role-details-modal .table-section-title .table-cell {
+ width: 100%;
+}
+
+
.proxied-field-wrap {
display:block;
position:absolute;
http://git-wip-us.apache.org/repos/asf/ambari/blob/12d7e9ec/ambari-admin/src/main/resources/ui/admin-web/app/views/modals/RoleDetailsModal.html
----------------------------------------------------------------------
diff --git a/ambari-admin/src/main/resources/ui/admin-web/app/views/modals/RoleDetailsModal.html b/ambari-admin/src/main/resources/ui/admin-web/app/views/modals/RoleDetailsModal.html
index 776b33d..926bea9 100644
--- a/ambari-admin/src/main/resources/ui/admin-web/app/views/modals/RoleDetailsModal.html
+++ b/ambari-admin/src/main/resources/ui/admin-web/app/views/modals/RoleDetailsModal.html
@@ -33,11 +33,18 @@
<div class="table-cell">{{roles[roles.length - 1].permission_label}}</div>
</div>
<div class="table-body">
- <div class="table-row-wrapper">
- <div class="table-row" ng-repeat="auth in orderedAuthorizations">
- <div class="table-cell">{{authHash[auth]}}</div>
- <div class="table-cell text-center" ng-repeat="role in roles">
- <i class="glyphicon glyphicon-ok green-icon" ng-show="role.authHash[auth]"></i>
+ <div ng-repeat="level in orderedLevels">
+ <div class="table-row-wrapper table-section-title">
+ <div class="table-row">
+ <div class="table-cell" colspan="{{roles.length + 1}}">{{'users.roles.permissionLevel' | translate: '{level: getLevelName(level)}'}}</div>
+ </div>
+ </div>
+ <div class="table-row-wrapper">
+ <div class="table-row" ng-repeat="auth in orderedAuthorizations" ng-if="authHash[level][auth]">
+ <div class="table-cell">{{authHash[level][auth]}}</div>
+ <div class="table-cell text-center" ng-repeat="role in roles">
+ <i class="glyphicon glyphicon-ok green-icon" ng-show="role.authHash[auth]"></i>
+ </div>
</div>
</div>
</div>