You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ranger.apache.org by ve...@apache.org on 2015/04/14 18:16:50 UTC
incubator-ranger git commit: RANGER-389 : Fix - User not able to
create service
Repository: incubator-ranger
Updated Branches:
refs/heads/master 89661939f -> de598fada
RANGER-389 : Fix - User not able to create service
Signed-off-by: Velmurugan Periasamy <ve...@apache.org>
Project: http://git-wip-us.apache.org/repos/asf/incubator-ranger/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ranger/commit/de598fad
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ranger/tree/de598fad
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ranger/diff/de598fad
Branch: refs/heads/master
Commit: de598fadac7626f72649c4d60aef1f031cffb7bb
Parents: 8966193
Author: Gautam Borad <gb...@gmail.com>
Authored: Tue Apr 14 19:15:18 2015 +0530
Committer: Velmurugan Periasamy <ve...@apache.org>
Committed: Tue Apr 14 12:16:24 2015 -0400
----------------------------------------------------------------------
.../java/org/apache/ranger/biz/UserMgr.java | 2 -
.../java/org/apache/ranger/biz/XUserMgr.java | 11 +-
.../java/org/apache/ranger/rest/UserREST.java | 12 +-
.../RangerSecurityContextFormationFilter.java | 2 +-
.../ranger/service/RangerBaseModelService.java | 2 +-
.../src/main/webapp/scripts/utils/XAGlobals.js | 5 +-
.../src/main/webapp/scripts/utils/XAUtils.js | 1091 ++++++++++--------
.../org/apache/ranger/biz/TestXUserMgr.java | 4 +-
8 files changed, 659 insertions(+), 470 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/de598fad/security-admin/src/main/java/org/apache/ranger/biz/UserMgr.java
----------------------------------------------------------------------
diff --git a/security-admin/src/main/java/org/apache/ranger/biz/UserMgr.java b/security-admin/src/main/java/org/apache/ranger/biz/UserMgr.java
index 3e600fe..52b6695 100644
--- a/security-admin/src/main/java/org/apache/ranger/biz/UserMgr.java
+++ b/security-admin/src/main/java/org/apache/ranger/biz/UserMgr.java
@@ -1099,8 +1099,6 @@ public class UserMgr {
}
}
-
- xUserMgr.assignPermissionToUser(userProfile,true);
XXPortalUser xXPortalUser = null;
String loginId = userProfile.getLoginId();
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/de598fad/security-admin/src/main/java/org/apache/ranger/biz/XUserMgr.java
----------------------------------------------------------------------
diff --git a/security-admin/src/main/java/org/apache/ranger/biz/XUserMgr.java b/security-admin/src/main/java/org/apache/ranger/biz/XUserMgr.java
index b426bb8..c96eb17 100644
--- a/security-admin/src/main/java/org/apache/ranger/biz/XUserMgr.java
+++ b/security-admin/src/main/java/org/apache/ranger/biz/XUserMgr.java
@@ -656,9 +656,9 @@ public class XUserMgr extends XUserMgrBase {
}
}
- public void checkPermissionRoleByGivenUrls(String enteredURL, String method) {
+ /*public void checkPermissionRoleByGivenUrls(String enteredURL, String method) {
Long currentUserId = ContextUtil.getCurrentUserId();
- /*List<String> notPermittedUrls = daoManager.getXXModuleDef()
+ List<String> notPermittedUrls = daoManager.getXXModuleDef()
.findModuleURLOfPemittedModules(currentUserId);
if (notPermittedUrls != null) {
List<XXPortalUserRole> xPortalUserRoles = daoManager
@@ -679,14 +679,15 @@ public class XUserMgr extends XUserMgrBase {
if (flag) {
throw restErrorUtil.create403RESTException("Access Denied");
}
- }*/
+ }
boolean flag = false;
List<XXPortalUserRole> xPortalUserRoles = daoManager
.getXXPortalUserRole().findByUserId(currentUserId);
for (XXPortalUserRole xPortalUserRole : xPortalUserRoles) {
if (xPortalUserRole.getUserRole().equalsIgnoreCase(
RangerConstants.ROLE_USER)
- && enteredURL.toLowerCase().contains("/permission")) {
+ && enteredURL.contains("/permission")
+ && !enteredURL.contains("/templates")) {
flag = true;
}
}
@@ -694,7 +695,7 @@ public class XUserMgr extends XUserMgrBase {
throw restErrorUtil.create403RESTException("Access Denied");
}
- }
+ }*/
// Module permissions
public VXModuleDef createXModuleDefPermission(VXModuleDef vXModuleDef) {
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/de598fad/security-admin/src/main/java/org/apache/ranger/rest/UserREST.java
----------------------------------------------------------------------
diff --git a/security-admin/src/main/java/org/apache/ranger/rest/UserREST.java b/security-admin/src/main/java/org/apache/ranger/rest/UserREST.java
index 0bcba7d..3cb2d2d 100644
--- a/security-admin/src/main/java/org/apache/ranger/rest/UserREST.java
+++ b/security-admin/src/main/java/org/apache/ranger/rest/UserREST.java
@@ -32,6 +32,7 @@ import javax.ws.rs.core.Context;
import org.apache.log4j.Logger;
import org.apache.ranger.biz.UserMgr;
+import org.apache.ranger.biz.XUserMgr;
import org.apache.ranger.common.MessageEnums;
import org.apache.ranger.common.RESTErrorUtil;
import org.apache.ranger.common.RangerConfigUtil;
@@ -86,6 +87,9 @@ public class UserREST {
@Autowired
RangerRestUtil msRestUtil;
+
+ @Autowired
+ XUserMgr xUserMgr;
/**
* Implements the traditional search functionalities for UserProfile
@@ -183,8 +187,14 @@ public class UserREST {
@PreAuthorize("hasRole('ROLE_SYS_ADMIN')")
public VXPortalUser createDefaultAccountUser(VXPortalUser userProfile,
@Context HttpServletRequest servletRequest) {
+ VXPortalUser vxPortalUser;
logger.info("create:" + userProfile.getEmailAddress());
- return userManager.createDefaultAccountUser(userProfile);
+ vxPortalUser=userManager.createDefaultAccountUser(userProfile);
+ if(vxPortalUser!=null)
+ {
+ xUserMgr.assignPermissionToUser(vxPortalUser, true);
+ }
+ return vxPortalUser;
}
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/de598fad/security-admin/src/main/java/org/apache/ranger/security/web/filter/RangerSecurityContextFormationFilter.java
----------------------------------------------------------------------
diff --git a/security-admin/src/main/java/org/apache/ranger/security/web/filter/RangerSecurityContextFormationFilter.java b/security-admin/src/main/java/org/apache/ranger/security/web/filter/RangerSecurityContextFormationFilter.java
index 048d58c..ad8c95e 100644
--- a/security-admin/src/main/java/org/apache/ranger/security/web/filter/RangerSecurityContextFormationFilter.java
+++ b/security-admin/src/main/java/org/apache/ranger/security/web/filter/RangerSecurityContextFormationFilter.java
@@ -130,7 +130,7 @@ public class RangerSecurityContextFormationFilter extends GenericFilterBean {
context.setUserSession(userSession);
- xUserMgr.checkPermissionRoleByGivenUrls(httpRequest.getRequestURL().toString(),httpMethod);
+// xUserMgr.checkPermissionRoleByGivenUrls(httpRequest.getRequestURL().toString(),httpMethod);
}
chain.doFilter(request, response);
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/de598fad/security-admin/src/main/java/org/apache/ranger/service/RangerBaseModelService.java
----------------------------------------------------------------------
diff --git a/security-admin/src/main/java/org/apache/ranger/service/RangerBaseModelService.java b/security-admin/src/main/java/org/apache/ranger/service/RangerBaseModelService.java
index c134642..ee1b589 100644
--- a/security-admin/src/main/java/org/apache/ranger/service/RangerBaseModelService.java
+++ b/security-admin/src/main/java/org/apache/ranger/service/RangerBaseModelService.java
@@ -391,7 +391,7 @@ public abstract class RangerBaseModelService<T extends XXDBBase, V extends Range
List<T> resultList = getDao().executeQueryInSecurityContext(tEntityClass, query);
if (vList != null) {
- vList.setResultSize(query.getResultList().size());
+ vList.setResultSize(resultList.size());
vList.setPageSize(query.getMaxResults());
vList.setSortBy(searchCriteria.getSortBy());
vList.setSortType(searchCriteria.getSortType());
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/de598fad/security-admin/src/main/webapp/scripts/utils/XAGlobals.js
----------------------------------------------------------------------
diff --git a/security-admin/src/main/webapp/scripts/utils/XAGlobals.js b/security-admin/src/main/webapp/scripts/utils/XAGlobals.js
index 6805ffd..ee8c90d 100644
--- a/security-admin/src/main/webapp/scripts/utils/XAGlobals.js
+++ b/security-admin/src/main/webapp/scripts/utils/XAGlobals.js
@@ -64,13 +64,14 @@ define(function(require){
XAGlobals.hardcoded.HBaseAssetId = 2;
XAGlobals.hardcoded.HiveAssetId = 3;
XAGlobals.DenyControllerActions = ['userManagerAction','userCreateAction','userEditAction','groupCreateAction',
- 'groupEditAction','auditReportAction','loginSessionDetail','serviceCreateAction','serviceEditAction'];
+ 'groupEditAction','auditReportAction','loginSessionDetail','serviceCreateAction','serviceEditAction','modulePermissionsAction','modulePermissionEditAction'];
XAGlobals.ListOfModuleActions = {
'Policy Manager':['serviceManagerAction','serviceCreateAction','serviceEditAction', 'policyManageAction','RangerPolicyCreateAction','RangerPolicyEditAction'],
'Users/Groups' : ['userManagerAction','userCreateAction','userEditAction','groupCreateAction','groupEditAction'],
'Analytics' : ['userAccessReportAction'],
- 'Audit' : ['auditReportAction','loginSessionDetail']
+ 'Audit' : ['auditReportAction','loginSessionDetail'],
+ 'Permissions' : ['modulePermissionsAction','modulePermissionEditAction']
};
return XAGlobals;
});
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/de598fad/security-admin/src/main/webapp/scripts/utils/XAUtils.js
----------------------------------------------------------------------
diff --git a/security-admin/src/main/webapp/scripts/utils/XAUtils.js b/security-admin/src/main/webapp/scripts/utils/XAUtils.js
index 0c704fc..f0a8723 100644
--- a/security-admin/src/main/webapp/scripts/utils/XAUtils.js
+++ b/security-admin/src/main/webapp/scripts/utils/XAUtils.js
@@ -17,22 +17,22 @@
* under the License.
*/
-
-
define(function(require) {
- 'use strict';
-
- var XAEnums = require('utils/XAEnums');
- var localization = require('utils/XALangSupport');
+ 'use strict';
+
+ var XAEnums = require('utils/XAEnums');
+ var localization = require('utils/XALangSupport');
var XAUtils = {};
require('bootstrap-notify');
-
+
// ///////////////////////////////////////////////////////
// Enum utility methods
// //////////////////////////////////////////////////////
/**
* Get enum for the enumId
- * @param {integer} enumId - The enumId
+ *
+ * @param {integer}
+ * enumId - The enumId
*/
XAUtils.getEnum = function(enumId) {
if (!enumId || enumId.length < 1) {
@@ -47,8 +47,11 @@ define(function(require) {
/**
* Get enum by Enum and value
- * @param {Object} myEnum - The enum
- * @param {integer} value - The value
+ *
+ * @param {Object}
+ * myEnum - The enum
+ * @param {integer}
+ * value - The value
*/
XAUtils.enumElementByValue = function(myEnum, value) {
var element = _.detect(myEnum, function(element) {
@@ -59,11 +62,16 @@ define(function(require) {
/**
* Get enum by Enum and name, value
- * @param {Object} myEnum - The enum
- * @param {string} propertyName - The name of key
- * @param {integer} propertyValue - The value
+ *
+ * @param {Object}
+ * myEnum - The enum
+ * @param {string}
+ * propertyName - The name of key
+ * @param {integer}
+ * propertyValue - The value
*/
- XAUtils.enumElementByPropertyNameValue = function(myEnum, propertyName, propertyValue) {
+ XAUtils.enumElementByPropertyNameValue = function(myEnum, propertyName,
+ propertyValue) {
for ( var element in myEnum) {
if (myEnum[element][propertyName] == propertyValue) {
return myEnum[element];
@@ -74,8 +82,11 @@ define(function(require) {
/**
* Get enum value for given enum label
- * @param {Object} myEnum - The enum
- * @param {string} label - The label to search for in the Enum
+ *
+ * @param {Object}
+ * myEnum - The enum
+ * @param {string}
+ * label - The label to search for in the Enum
*/
XAUtils.enumLabelToValue = function(myEnum, label) {
var element = _.detect(myEnum, function(element) {
@@ -86,8 +97,11 @@ define(function(require) {
/**
* Get enum label for given enum value
- * @param {Object} myEnum - The enum
- * @param {integer} value - The value
+ *
+ * @param {Object}
+ * myEnum - The enum
+ * @param {integer}
+ * value - The value
*/
XAUtils.enumValueToLabel = function(myEnum, value) {
var element = _.detect(myEnum, function(element) {
@@ -98,8 +112,11 @@ define(function(require) {
/**
* Get enum label tt string for given Enum value
- * @param {Object} myEnum - The enum
- * @param {integer} value - The value
+ *
+ * @param {Object}
+ * myEnum - The enum
+ * @param {integer}
+ * value - The value
*/
XAUtils.enumValueToLabeltt = function(myEnum, value) {
var element = _.detect(myEnum, function(element) {
@@ -110,10 +127,12 @@ define(function(require) {
/**
* Get NVpairs for given Enum to be used in Select
- * @param {Object} myEnum - The enum
+ *
+ * @param {Object}
+ * myEnum - The enum
*/
XAUtils.enumToSelectPairs = function(myEnum) {
- return _.map(myEnum, function(o){
+ return _.map(myEnum, function(o) {
return {
val : o.value,
label : o.label
@@ -121,10 +140,11 @@ define(function(require) {
});
};
-
/**
* Get NVpairs for given Enum
- * @param {Object} myEnum - The enum
+ *
+ * @param {Object}
+ * myEnum - The enum
*/
XAUtils.enumNVPairs = function(myEnum) {
var nvPairs = {
@@ -140,7 +160,9 @@ define(function(require) {
/**
* Get array NV pairs for given Array
- * @param {Array} myArray - The eArraynum
+ *
+ * @param {Array}
+ * myArray - The eArraynum
*/
XAUtils.arrayNVPairs = function(myArray) {
var nvPairs = {
@@ -154,17 +176,25 @@ define(function(require) {
/**
* Notify Info the given title / text
- * @param {string} text - The text
- * @param {string} type - The type
- * @param {object} text - Plugin options
+ *
+ * @param {string}
+ * text - The text
+ * @param {string}
+ * type - The type
+ * @param {object}
+ * text - Plugin options
*/
XAUtils.notifyInfo = function(type, text, options) {
var html = '<div style="width: 245px;"><div style="min-height: 16px;"><div><span class="icon-exclamation-sign"></span>\
- </div><h4 style="margin-top: -19px;margin-left: 15px;">Info</h4><div>'+text+'</div></div></div>';
- if(_.isUndefined(options)){
+ </div><h4 style="margin-top: -19px;margin-left: 15px;">Info</h4><div>'
+ + text + '</div></div></div>';
+ if (_.isUndefined(options)) {
options = {
- message: { html: html, text: text },
- type:'info'
+ message : {
+ html : html,
+ text : text
+ },
+ type : 'info'
};
}
$('.top-right').notify(options).show();
@@ -172,44 +202,60 @@ define(function(require) {
/**
* Notify Info the given title / text
- * @param {string} text - The text
- * @param {string} type - The type
- * @param {object} text - Plugin options
+ *
+ * @param {string}
+ * text - The text
+ * @param {string}
+ * type - The type
+ * @param {object}
+ * text - Plugin options
*/
XAUtils.notifyError = function(type, text, options) {
var html = '<div style="width: 245px;"><div style="min-height: 16px;"><div><span class="icon-warning-sign"></span>\
- </div><h4 style="margin-top: -19px;margin-left: 15px;">Error</h4><div>'+text+'</div></div></div>';
- if(_.isUndefined(options)){
+ </div><h4 style="margin-top: -19px;margin-left: 15px;">Error</h4><div>'
+ + text + '</div></div></div>';
+ if (_.isUndefined(options)) {
options = {
- message: { html: html, text: text },
- type:'error'
+ message : {
+ html : html,
+ text : text
+ },
+ type : 'error'
};
}
$('.top-right').notify(options).show();
};
-
+
/**
* Notify Info the given title / text
- * @param {string} text - The text
- * @param {string} type - The type
- * @param {object} text - Plugin options
+ *
+ * @param {string}
+ * text - The text
+ * @param {string}
+ * type - The type
+ * @param {object}
+ * text - Plugin options
*/
XAUtils.notifySuccess = function(type, text, options) {
var html = '<div style="width: 245px;"><div style="min-height: 16px;"><div><span class="icon-ok-sign"></span>\
- </div><h4 style="margin-top: -19px;margin-left: 15px;">Success</h4><div>'+text+'</div></div></div>';
- if(_.isUndefined(options)){
+ </div><h4 style="margin-top: -19px;margin-left: 15px;">Success</h4><div>'
+ + text + '</div></div></div>';
+ if (_.isUndefined(options)) {
options = {
- message: { html:html},
- type:'success',
+ message : {
+ html : html
+ },
+ type : 'success',
};
}
$('.top-right').notify(options).show();
};
-
-
+
/**
* Convert new line to <br />
- * @param {string} str - the string to convert
+ *
+ * @param {string}
+ * str - the string to convert
*/
XAUtils.nl2br = function(str) {
if (!str)
@@ -218,8 +264,11 @@ define(function(require) {
};
/**
- * Convert <br /> to new line
- * @param {string} str - the string to convert
+ * Convert <br />
+ * to new line
+ *
+ * @param {string}
+ * str - the string to convert
*/
XAUtils.br2nl = function(str) {
if (!str)
@@ -229,7 +278,9 @@ define(function(require) {
/**
* Escape html chars
- * @param {string} str - the html string to escape
+ *
+ * @param {string}
+ * str - the html string to escape
*/
XAUtils.escapeHtmlChar = function(str) {
if (!str)
@@ -244,7 +295,9 @@ define(function(require) {
/**
* nl2br and Escape html chars
- * @param {string} str - the html string
+ *
+ * @param {string}
+ * str - the html string
*/
XAUtils.nl2brAndEscapeHtmlChar = function(str) {
@@ -257,8 +310,11 @@ define(function(require) {
/**
* prevent navigation with msg and call callback
- * @param {String} msg - The msg to show
- * @param {function} callback - The callback to call
+ *
+ * @param {String}
+ * msg - The msg to show
+ * @param {function}
+ * callback - The callback to call
*/
XAUtils.preventNavigation = function(msg, $form) {
window._preventNavigation = true;
@@ -286,576 +342,699 @@ define(function(require) {
e.preventDefault();
e.stopImmediatePropagation();
- bootbox.dialog(msg, [{
- "label": localization.tt('btn.stayOnPage'),
- "class": "btn-success btn-small",
- "callback": function() {}
+ bootbox.dialog(msg, [ {
+ "label" : localization.tt('btn.stayOnPage'),
+ "class" : "btn-success btn-small",
+ "callback" : function() {
+ }
}, {
- "label": localization.tt('btn.leavePage'),
- "class": "btn-danger btn-small",
- "callback": function() {
+ "label" : localization.tt('btn.leavePage'),
+ "class" : "btn-danger btn-small",
+ "callback" : function() {
XAUtils.allowNavigation();
target.click();
}
- }]);
+ } ]);
return false;
}
};
/**
* Bootbox wrapper for alert
- * @param {Object} params - The params
+ *
+ * @param {Object}
+ * params - The params
*/
XAUtils.alertPopup = function(params) {
- if(params.callback == undefined){
+ if (params.callback == undefined) {
bootbox.alert(params.msg);
} else {
- bootbox.alert(params.msg,params.callback);
+ bootbox.alert(params.msg, params.callback);
}
};
/**
* Bootbox wrapper for confirm
- * @param {Object} params - The params
+ *
+ * @param {Object}
+ * params - The params
*/
XAUtils.confirmPopup = function(params) {
bootbox.confirm(params.msg, function(result) {
- if(result){
+ if (result) {
params.callback();
}
- });
- };
+ });
+ };
- XAUtils.filterResultByIds = function(results , selectedVals){
- return _.filter(results,function(obj){
- if($.inArray(obj.id,selectedVals) < 0)
+ XAUtils.filterResultByIds = function(results, selectedVals) {
+ return _.filter(results, function(obj) {
+ if ($.inArray(obj.id, selectedVals) < 0)
return obj;
-
- });
+
+ });
};
- XAUtils.filterResultByText = function(results , selectedVals){
- return _.filter(results,function(obj){
- if($.inArray(obj.text,selectedVals) < 0)
+ XAUtils.filterResultByText = function(results, selectedVals) {
+ return _.filter(results, function(obj) {
+ if ($.inArray(obj.text, selectedVals) < 0)
return obj;
-
- });
+
+ });
};
- XAUtils.scrollToField = function(field){
+ XAUtils.scrollToField = function(field) {
$("html, body").animate({
- scrollTop: field.position().top-80
- }, 1100, function(){
+ scrollTop : field.position().top - 80
+ }, 1100, function() {
field.focus();
});
};
- XAUtils.blockUI = function(options){
- var Opt = {autoUnblock : false , clickUnblock : false, bgPath : 'images/' ,content: '<img src="images/blockLoading.gif" > Please wait..',css :{}};
- options = _.isUndefined(options) ? Opt : options;
+ XAUtils.blockUI = function(options) {
+ var Opt = {
+ autoUnblock : false,
+ clickUnblock : false,
+ bgPath : 'images/',
+ content : '<img src="images/blockLoading.gif" > Please wait..',
+ css : {}
+ };
+ options = _.isUndefined(options) ? Opt : options;
$.msg(options);
};
- XAUtils.showGroups = function(rawValue){
- var showMoreLess = false,id;
- if(_.isArray(rawValue))
- rawValue = new Backbone.Collection(rawValue);
- if(!_.isUndefined(rawValue) && rawValue.models.length > 0){
- var groupArr = _.uniq(_.compact(_.map(rawValue.models, function(m, i){
- if(m.has('groupName'))
- return m.get('groupName') ;
+ XAUtils.showGroups = function(rawValue) {
+ var showMoreLess = false, id;
+ if (_.isArray(rawValue))
+ rawValue = new Backbone.Collection(rawValue);
+ if (!_.isUndefined(rawValue) && rawValue.models.length > 0) {
+ var groupArr = _.uniq(_.compact(_.map(rawValue.models, function(m,
+ i) {
+ if (m.has('groupName'))
+ return m.get('groupName');
})));
- if(groupArr.length > 0){
- if(rawValue.first().has('resourceId'))
+ if (groupArr.length > 0) {
+ if (rawValue.first().has('resourceId'))
id = rawValue.first().get('resourceId');
else
id = rawValue.first().get('userId');
}
- var newGroupArr = _.map(groupArr, function(name, i){
- if(i >= 4)
- return '<span class="label label-info" policy-group-id="'+id+'" style="display:none;">' + name + '</span>';
- else if(i == 3 && groupArr.length > 4){
+ var newGroupArr = _.map(groupArr, function(name, i) {
+ if (i >= 4)
+ return '<span class="label label-info" policy-group-id="'
+ + id + '" style="display:none;">' + name
+ + '</span>';
+ else if (i == 3 && groupArr.length > 4) {
showMoreLess = true;
- return '<span class="label label-info" policy-group-id="'+id+'">' + name + '</span>';
- }
- else
- return '<span class="label label-info" policy-group-id="'+id+'">' + name + '</span>';
+ return '<span class="label label-info" policy-group-id="'
+ + id + '">' + name + '</span>';
+ } else
+ return '<span class="label label-info" policy-group-id="'
+ + id + '">' + name + '</span>';
});
- if(showMoreLess){
- newGroupArr.push('<span class="pull-left"><a href="javascript:void(0);" data-id="showMore" class="" policy-group-id="'+id+'"><code style=""> + More..</code></a></span><span class="pull-left" ><a href="javascript:void(0);" data-id="showLess" class="" policy-group-id="'+id+'" style="display:none;"><code> - Less..</code></a></span>');
+ if (showMoreLess) {
+ newGroupArr
+ .push('<span class="pull-left"><a href="javascript:void(0);" data-id="showMore" class="" policy-group-id="'
+ + id
+ + '"><code style=""> + More..</code></a></span><span class="pull-left" ><a href="javascript:void(0);" data-id="showLess" class="" policy-group-id="'
+ + id
+ + '" style="display:none;"><code> - Less..</code></a></span>');
}
return newGroupArr.length ? newGroupArr.join(' ') : '--';
- }else
+ } else
return '--';
};
- XAUtils.showGroupsOrUsersForPolicy = function(rawValue, model, showGroups){
+ XAUtils.showGroupsOrUsersForPolicy = function(rawValue, model, showGroups) {
var showMoreLess = false, groupArr = [];
var type = _.isUndefined(showGroups) ? 'groups' : 'users';
- if(!_.isArray(rawValue) && !_.isUndefined(rawValue[type]))
+ if (!_.isArray(rawValue) && !_.isUndefined(rawValue[type]))
return '--';
- _.each(rawValue,function(perm){
- groupArr = _.union(groupArr, perm[type])
+ _.each(rawValue, function(perm) {
+ groupArr = _.union(groupArr, perm[type])
});
-
- var newGroupArr = _.map(groupArr, function(name, i){
- if(i >= 4){
- return '<span class="label label-info" policy-'+type+'-id="'+model.id+'" style="display:none;">' + name + '</span>';
- }else if(i == 3 && groupArr.length > 4){
+
+ var newGroupArr = _.map(groupArr, function(name, i) {
+ if (i >= 4) {
+ return '<span class="label label-info" policy-' + type
+ + '-id="' + model.id + '" style="display:none;">'
+ + name + '</span>';
+ } else if (i == 3 && groupArr.length > 4) {
showMoreLess = true;
- return '<span class="label label-info" policy-'+type+'-id="'+model.id+'">' + name + '</span>';
- }else{
- return '<span class="label label-info" policy-'+type+'-id="'+model.id+'">' + name + '</span>';
+ return '<span class="label label-info" policy-' + type
+ + '-id="' + model.id + '">' + name + '</span>';
+ } else {
+ return '<span class="label label-info" policy-' + type
+ + '-id="' + model.id + '">' + name + '</span>';
}
});
- if(showMoreLess){
- newGroupArr.push('<span class="pull-left"><a href="javascript:void(0);" data-id="showMore" class="" policy-'+type+'-id="'+model.id+'"><code style=""> + More..</code></a></span><span class="pull-left" ><a href="javascript:void(0);" data-id="showLess" class="" policy-'+type+'-id="'+model.id+'" style="display:none;"><code> - Less..</code></a></span>');
+ if (showMoreLess) {
+ newGroupArr
+ .push('<span class="pull-left"><a href="javascript:void(0);" data-id="showMore" class="" policy-'
+ + type
+ + '-id="'
+ + model.id
+ + '"><code style=""> + More..</code></a></span><span class="pull-left" ><a href="javascript:void(0);" data-id="showLess" class="" policy-'
+ + type
+ + '-id="'
+ + model.id
+ + '" style="display:none;"><code> - Less..</code></a></span>');
}
return newGroupArr.length ? newGroupArr.join(' ') : '--';
-
+
};
- XAUtils.showGroupsOrUsers = function(rawValue, model, userOrGroups){
+ XAUtils.showGroupsOrUsers = function(rawValue, model, userOrGroups) {
var showMoreLess = false, objArr = [];
- if(!_.isArray(rawValue) && rawValue.length == 0)
+ if (!_.isArray(rawValue) && rawValue.length == 0)
return '--';
- if(userOrGroups == 'groups'){
- _.each(rawValue,function(perm){
+ if (userOrGroups == 'groups') {
+ _.each(rawValue, function(perm) {
objArr = _.union(objArr, perm.groupName)
});
- }else if(userOrGroups == 'users'){
- _.each(rawValue,function(perm){
+ } else if (userOrGroups == 'users') {
+ _.each(rawValue, function(perm) {
objArr = _.union(objArr, perm.userName)
});
}
- var newObjArr = _.map(objArr, function(name, i){
- if(i >= 4){
- return '<span class="label label-info" policy-'+userOrGroups+'-id="'+model.id+'" style="display:none;">' + name + '</span>';
- }else if(i == 3 && objArr.length > 4){
+ var newObjArr = _.map(objArr, function(name, i) {
+ if (i >= 4) {
+ return '<span class="label label-info" policy-' + userOrGroups
+ + '-id="' + model.id + '" style="display:none;">'
+ + name + '</span>';
+ } else if (i == 3 && objArr.length > 4) {
showMoreLess = true;
- return '<span class="label label-info" policy-'+userOrGroups+'-id="'+model.id+'">' + name + '</span>';
- }else{
- return '<span class="label label-info" policy-'+userOrGroups+'-id="'+model.id+'">' + name + '</span>';
+ return '<span class="label label-info" policy-' + userOrGroups
+ + '-id="' + model.id + '">' + name + '</span>';
+ } else {
+ return '<span class="label label-info" policy-' + userOrGroups
+ + '-id="' + model.id + '">' + name + '</span>';
}
});
- if(showMoreLess){
- newObjArr.push('<span class="pull-left"><a href="javascript:void(0);" data-id="showMore" class="" policy-'+userOrGroups+'-id="'+model.id+'"><code style=""> + More..</code></a></span><span class="pull-left" ><a href="javascript:void(0);" data-id="showLess" class="" policy-'+userOrGroups+'-id="'+model.id+'" style="display:none;"><code> - Less..</code></a></span>');
+ if (showMoreLess) {
+ newObjArr
+ .push('<span class="pull-left"><a href="javascript:void(0);" data-id="showMore" class="" policy-'
+ + userOrGroups
+ + '-id="'
+ + model.id
+ + '"><code style=""> + More..</code></a></span><span class="pull-left" ><a href="javascript:void(0);" data-id="showLess" class="" policy-'
+ + userOrGroups
+ + '-id="'
+ + model.id
+ + '" style="display:none;"><code> - Less..</code></a></span>');
}
return newObjArr.length ? newObjArr.join(' ') : '--';
};
-
XAUtils.defaultErrorHandler = function(model, error) {
- var App = require('App');
+ var App = require('App');
var vError = require('views/common/ErrorView');
- if (error.status == 404 ) {
- App.rContent.show(new vError({
- status : error.status
- }));
- }else if (error.status == 401 ) {
- App.rContent.show(new vError({
- status : error.status
- }));
- }else if (error.status == 419 ) {
- window.location = 'login.jsp'
- }
- };
- XAUtils.select2Focus = function(event) {
- if (/^select2-focus/.test(event.type)) {
- $(this).select2('open');
- }
- };
- XAUtils.makeCollForGroupPermission = function(model){
- var XAEnums = require('utils/XAEnums');
- var formInputColl = new Backbone.Collection();
- // permMapList = [ {id: 18, groupId : 1, permType :5}, {id: 18, groupId : 1, permType :4}, {id: 18, groupId : 2, permType :5} ]
- // [1] => [ {id: 18, groupId : 1, permType :5}, {id: 18, groupId : 1, permType :4} ]
+ if (error.status == 404) {
+ App.rContent.show(new vError({
+ status : error.status
+ }));
+ } else if (error.status == 401) {
+ App.rContent.show(new vError({
+ status : error.status
+ }));
+ } else if (error.status == 419) {
+ window.location = 'login.jsp'
+ }
+ };
+ XAUtils.select2Focus = function(event) {
+ if (/^select2-focus/.test(event.type)) {
+ $(this).select2('open');
+ }
+ };
+ XAUtils.makeCollForGroupPermission = function(model) {
+ var XAEnums = require('utils/XAEnums');
+ var formInputColl = new Backbone.Collection();
+ // permMapList = [ {id: 18, groupId : 1, permType :5}, {id: 18, groupId
+ // : 1, permType :4}, {id: 18, groupId : 2, permType :5} ]
+ // [1] => [ {id: 18, groupId : 1, permType :5}, {id: 18, groupId : 1,
+ // permType :4} ]
// [2] => [ {id: 18, groupId : 2, permType :5} ]
- if(!model.isNew()){
- if(!_.isUndefined(model.get('policyItems'))){
- var policyItems = model.get('policyItems');
-// var groupPolicyItems = _.filter(policyItems,function(m){if(!_.isEmpty(m.groups)) return m;});
- _.each(policyItems,function(obj){
+ if (!model.isNew()) {
+ if (!_.isUndefined(model.get('policyItems'))) {
+ var policyItems = model.get('policyItems');
+ // var groupPolicyItems =
+ // _.filter(policyItems,function(m){if(!_.isEmpty(m.groups))
+ // return m;});
+ _.each(policyItems, function(obj) {
var groupNames = null, userNames = null;
- if(!_.isEmpty(obj.groups)) groupNames = obj.groups.join(',');
- if(!_.isEmpty(obj.users)) userNames = obj.users.join(',');
- var m = new Backbone.Model({
- groupName : groupNames,
- userName : userNames,
- accesses : obj.accesses,
- conditions : obj.conditions,
- delegateAdmin: obj.delegateAdmin,
- editMode : true,
- });
- formInputColl.add(m);
-
+ if (!_.isEmpty(obj.groups))
+ groupNames = obj.groups.join(',');
+ if (!_.isEmpty(obj.users))
+ userNames = obj.users.join(',');
+ var m = new Backbone.Model({
+ groupName : groupNames,
+ userName : userNames,
+ accesses : obj.accesses,
+ conditions : obj.conditions,
+ delegateAdmin : obj.delegateAdmin,
+ editMode : true,
+ });
+ formInputColl.add(m);
+
});
}
}
return formInputColl;
};
-
- XAUtils.makeCollForUserPermission = function(model){
- var XAEnums = require('utils/XAEnums');
- var coll = new Backbone.Collection();
- // permMapList = [ {id: 18, groupId : 1, permType :5}, {id: 18, groupId : 1, permType :4}, {id: 18, groupId : 2, permType :5} ]
- // [1] => [ {id: 18, groupId : 1, permType :5}, {id: 18, groupId : 1, permType :4} ]
+
+ XAUtils.makeCollForUserPermission = function(model) {
+ var XAEnums = require('utils/XAEnums');
+ var coll = new Backbone.Collection();
+ // permMapList = [ {id: 18, groupId : 1, permType :5}, {id: 18, groupId
+ // : 1, permType :4}, {id: 18, groupId : 2, permType :5} ]
+ // [1] => [ {id: 18, groupId : 1, permType :5}, {id: 18, groupId : 1,
+ // permType :4} ]
// [2] => [ {id: 18, groupId : 2, permType :5} ]
- if(!model.isNew()){
- if(!_.isUndefined(model.get('policyItems'))){
- var policyItems = model.get('policyItems');
- var userPolicyItems = _.filter(policyItems,function(m){if(!_.isEmpty(m.users)) return m;});
- _.each(userPolicyItems,function(obj){
- var m = new Backbone.Model({
-// userId : groupIds.join(','),
- userName : obj.users.join(','),
-// ipAddress : values[0].ipAddress,
- editMode : true,
- accesses : obj.accesses,
- conditions : obj.conditions
- });
- coll.add(m);
-
+ if (!model.isNew()) {
+ if (!_.isUndefined(model.get('policyItems'))) {
+ var policyItems = model.get('policyItems');
+ var userPolicyItems = _.filter(policyItems, function(m) {
+ if (!_.isEmpty(m.users))
+ return m;
+ });
+ _.each(userPolicyItems, function(obj) {
+ var m = new Backbone.Model({
+ // userId : groupIds.join(','),
+ userName : obj.users.join(','),
+ // ipAddress : values[0].ipAddress,
+ editMode : true,
+ accesses : obj.accesses,
+ conditions : obj.conditions
+ });
+ coll.add(m);
+
});
}
}
return coll;
};
- XAUtils.checkDirtyField = function(arg1, arg2, $elem) {
- if(_.isEqual(arg1,arg2)){
- $elem.removeClass('dirtyField');
- }else{
- $elem.addClass('dirtyField');
- }
+ XAUtils.checkDirtyField = function(arg1, arg2, $elem) {
+ if (_.isEqual(arg1, arg2)) {
+ $elem.removeClass('dirtyField');
+ } else {
+ $elem.addClass('dirtyField');
+ }
};
- XAUtils.checkDirtyFieldForToggle = function($el){
- if($el.hasClass('dirtyField')){
+ XAUtils.checkDirtyFieldForToggle = function($el) {
+ if ($el.hasClass('dirtyField')) {
$el.removeClass('dirtyField');
- }else{
+ } else {
$el.addClass('dirtyField');
}
};
- XAUtils.checkDirtyFieldForSelect2 = function($el, dirtyFieldValue, that){
- if($el.hasClass('dirtyField') && _.isEqual($el.val(), dirtyFieldValue.toString())){
+ XAUtils.checkDirtyFieldForSelect2 = function($el, dirtyFieldValue, that) {
+ if ($el.hasClass('dirtyField')
+ && _.isEqual($el.val(), dirtyFieldValue.toString())) {
$el.removeClass('dirtyField');
- }else if(!$el.hasClass('dirtyField')){
+ } else if (!$el.hasClass('dirtyField')) {
$el.addClass('dirtyField');
- dirtyFieldValue = !_.isUndefined(that.value.values) ? that.value.values : '';
+ dirtyFieldValue = !_.isUndefined(that.value.values) ? that.value.values
+ : '';
}
return dirtyFieldValue;
};
XAUtils.enumToSelectLabelValuePairs = function(myEnum) {
- return _.map(myEnum, function(o){
+ return _.map(myEnum, function(o) {
return {
label : o.label,
- value : o.value+''
- //category :'DHSS',
+ value : o.value + ''
+ // category :'DHSS',
};
});
};
XAUtils.hackForVSLabelValuePairs = function(myEnum) {
- return _.map(myEnum, function(o){
+ return _.map(myEnum, function(o) {
return {
label : o.label,
- value : o.label+''
- //category :'DHSS',
+ value : o.label + ''
+ // category :'DHSS',
};
});
};
- XAUtils.addVisualSearch = function(searchOpt,serverAttrName,collection,pluginAttr){
- var visualSearch ;
- var search = function(searchCollection, serverAttrName, searchOpt,collection){
+ XAUtils.addVisualSearch = function(searchOpt, serverAttrName, collection,
+ pluginAttr) {
+ var visualSearch;
+ var search = function(searchCollection, serverAttrName, searchOpt,
+ collection) {
var params = {};
- searchCollection.each(function(m){
- var serverParamName = _.findWhere(serverAttrName,{text :m.attributes.category});
+ searchCollection.each(function(m) {
+ var serverParamName = _.findWhere(serverAttrName, {
+ text : m.attributes.category
+ });
var extraParam = {};
- if(_.has(serverParamName,'multiple') && serverParamName.multiple){
- extraParam[serverParamName.label] = XAUtils.enumLabelToValue(serverParamName.optionsArr,m.get('value'));;
- $.extend(params ,extraParam);
- }else{
- if(!_.isUndefined(serverParamName)){
+ if (_.has(serverParamName, 'multiple')
+ && serverParamName.multiple) {
+ extraParam[serverParamName.label] = XAUtils
+ .enumLabelToValue(serverParamName.optionsArr, m
+ .get('value'));
+ ;
+ $.extend(params, extraParam);
+ } else {
+ if (!_.isUndefined(serverParamName)) {
extraParam[serverParamName.label] = m.get('value');
- $.extend(params ,extraParam);
+ $.extend(params, extraParam);
}
}
});
- collection.queryParams = $.extend(collection.queryParams,params);
+ collection.queryParams = $.extend(collection.queryParams, params);
collection.state.currentPage = collection.state.firstPage;
collection.fetch({
reset : true,
cache : false
- //data : params,
+ // data : params,
});
};
- //var searchOpt = ['Event Time','User','Resource Name','Resource ID','Resource Type','Repository Name','Repository Type','Result','Client IP','Client Type','Access Type','Access Enforcer','Audit Type','Session ID'];
-
+ // var searchOpt = ['Event Time','User','Resource Name','Resource
+ // ID','Resource Type','Repository Name','Repository
+ // Type','Result','Client IP','Client Type','Access Type','Access
+ // Enforcer','Audit Type','Session ID'];
+
var callbackCommon = {
- search : function(query, searchCollection) {
- collection.VSQuery = query;
- search(searchCollection, serverAttrName, searchOpt,collection);
- },
- clearSearch: function(callback) {
+ search : function(query, searchCollection) {
+ collection.VSQuery = query;
+ search(searchCollection, serverAttrName, searchOpt, collection);
+ },
+ clearSearch : function(callback) {
_.each(serverAttrName, function(attr) {
delete collection.queryParams[attr.label];
});
callback();
},
- facetMatches : function(callback) {
- // console.log(visualSearch);
- var searchOptTemp = $.extend(true, [], searchOpt);
- visualSearch.searchQuery.each(function(m){
- if($.inArray(m.get('category'),searchOptTemp) >= 0){
- searchOptTemp.splice($.inArray(m.get('category'),searchOptTemp), 1);
- }
- });
- //visualSearch.options.readOnly = searchOptTemp.length <= 0 ? true : false;
- callback(searchOptTemp,{preserveOrder : false});
- },
- removedFacet : function(removedFacet,searchCollection,indexObj){
- //console.log(removedFacet);
-
- var removedFacetSeverName = _.findWhere(serverAttrName,{text :removedFacet.get('category')});
- if(!_.isUndefined(removedFacetSeverName)){
- delete collection.queryParams[removedFacetSeverName.label];
- collection.state.currentPage = collection.state.firstPage;
- collection.fetch({
- reset : true,
- cache : false
- });
- }
- //TODO Added for Demo to remove datapicker popups
- if(!_.isUndefined(visualSearch.searchBox.$el))
- visualSearch.searchBox.$el.parents('body').find('.datepicker').remove();
- }
- //we can also add focus, blur events callback here..
- };
- pluginAttr.callbacks = $.extend(callbackCommon, pluginAttr.callbacks);
- //Initializing VisualSearch Plugin....
- visualSearch = VS.init($.extend(pluginAttr, {remainder : false }));
-
- if(visualSearch.searchQuery.length > 0) //For On Load Visual Search
- search(visualSearch.searchQuery, serverAttrName, searchOpt,collection);
-
+ facetMatches : function(callback) {
+ // console.log(visualSearch);
+ var searchOptTemp = $.extend(true, [], searchOpt);
+ visualSearch.searchQuery.each(function(m) {
+ if ($.inArray(m.get('category'), searchOptTemp) >= 0) {
+ searchOptTemp.splice($.inArray(m.get('category'),
+ searchOptTemp), 1);
+ }
+ });
+ // visualSearch.options.readOnly = searchOptTemp.length <= 0 ?
+ // true : false;
+ callback(searchOptTemp, {
+ preserveOrder : false
+ });
+ },
+ removedFacet : function(removedFacet, searchCollection, indexObj) {
+ // console.log(removedFacet);
+
+ var removedFacetSeverName = _.findWhere(serverAttrName, {
+ text : removedFacet.get('category')
+ });
+ if (!_.isUndefined(removedFacetSeverName)) {
+ delete collection.queryParams[removedFacetSeverName.label];
+ collection.state.currentPage = collection.state.firstPage;
+ collection.fetch({
+ reset : true,
+ cache : false
+ });
+ }
+ // TODO Added for Demo to remove datapicker popups
+ if (!_.isUndefined(visualSearch.searchBox.$el))
+ visualSearch.searchBox.$el.parents('body').find(
+ '.datepicker').remove();
+ }
+ // we can also add focus, blur events callback here..
+ };
+ pluginAttr.callbacks = $.extend(callbackCommon, pluginAttr.callbacks);
+ // Initializing VisualSearch Plugin....
+ visualSearch = VS.init($.extend(pluginAttr, {
+ remainder : false
+ }));
+
+ if (visualSearch.searchQuery.length > 0) // For On Load Visual Search
+ search(visualSearch.searchQuery, serverAttrName, searchOpt,
+ collection);
+
return visualSearch;
};
-
- XAUtils.displayDatepicker = function ($el, facet, $date, callback) {
- var input = $el.find('.search_facet.is_editing input.search_facet_input');
- $el.parents('body').find('.datepicker').hide();
- input.datepicker({
- autoclose : true,
- dateFormat: 'yy-mm-dd'
- }).on('changeDate', function(ev){
- callback(ev.date);
- input.datepicker("hide");
- var e = jQuery.Event("keydown");
- e.which = 13; // Enter
- $(this).trigger(e);
- });
- if(!_.isUndefined($date)){
- if(facet == 'Start Date'){
- input.datepicker('setEndDate', $date);
- }else{
- input.datepicker('setStartDate', $date);
- }
- }
- input.datepicker('show');
- input.on('blur',function(e){
- input.datepicker("hide");
- //$('.datepicker').remove();
-
- });
- //input.attr("readonly", "readonly");
- input.on('keydown',function(e){
- if(e.which == 9 && e.shiftKey ){
- input.datepicker('setValue', new Date());
- input.trigger('change');
- input.datepicker("hide");
- }
- if(e.which == 13){
- var e1 = jQuery.Event("keypress");
- e1.which = 13; // Enter
- $(this).trigger(e1);
-
- }
- });
- return input;
- };
- XAUtils.getPerms = function(policyType){
+
+ XAUtils.displayDatepicker = function($el, facet, $date, callback) {
+ var input = $el
+ .find('.search_facet.is_editing input.search_facet_input');
+ $el.parents('body').find('.datepicker').hide();
+ input.datepicker({
+ autoclose : true,
+ dateFormat : 'yy-mm-dd'
+ }).on('changeDate', function(ev) {
+ callback(ev.date);
+ input.datepicker("hide");
+ var e = jQuery.Event("keydown");
+ e.which = 13; // Enter
+ $(this).trigger(e);
+ });
+ if (!_.isUndefined($date)) {
+ if (facet == 'Start Date') {
+ input.datepicker('setEndDate', $date);
+ } else {
+ input.datepicker('setStartDate', $date);
+ }
+ }
+ input.datepicker('show');
+ input.on('blur', function(e) {
+ input.datepicker("hide");
+ // $('.datepicker').remove();
+
+ });
+ // input.attr("readonly", "readonly");
+ input.on('keydown', function(e) {
+ if (e.which == 9 && e.shiftKey) {
+ input.datepicker('setValue', new Date());
+ input.trigger('change');
+ input.datepicker("hide");
+ }
+ if (e.which == 13) {
+ var e1 = jQuery.Event("keypress");
+ e1.which = 13; // Enter
+ $(this).trigger(e1);
+
+ }
+ });
+ return input;
+ };
+ XAUtils.getPerms = function(policyType) {
var permArr = [];
- switch(policyType){
- case XAEnums.AssetType.ASSET_HDFS.value :
- permArr = ['XA_PERM_TYPE_READ', 'XA_PERM_TYPE_WRITE', 'XA_PERM_TYPE_EXECUTE','XA_PERM_TYPE_ADMIN'];
+ switch (policyType) {
+ case XAEnums.AssetType.ASSET_HDFS.value:
+ permArr = [ 'XA_PERM_TYPE_READ', 'XA_PERM_TYPE_WRITE',
+ 'XA_PERM_TYPE_EXECUTE', 'XA_PERM_TYPE_ADMIN' ];
break;
- case XAEnums.AssetType.ASSET_HIVE.value :
- permArr = ['XA_PERM_TYPE_SELECT','XA_PERM_TYPE_UPDATE','XA_PERM_TYPE_CREATE','XA_PERM_TYPE_DROP','XA_PERM_TYPE_ALTER',
- 'XA_PERM_TYPE_INDEX','XA_PERM_TYPE_LOCK', 'XA_PERM_TYPE_ALL', 'XA_PERM_TYPE_ADMIN'];
+ case XAEnums.AssetType.ASSET_HIVE.value:
+ permArr = [ 'XA_PERM_TYPE_SELECT', 'XA_PERM_TYPE_UPDATE',
+ 'XA_PERM_TYPE_CREATE', 'XA_PERM_TYPE_DROP',
+ 'XA_PERM_TYPE_ALTER', 'XA_PERM_TYPE_INDEX',
+ 'XA_PERM_TYPE_LOCK', 'XA_PERM_TYPE_ALL',
+ 'XA_PERM_TYPE_ADMIN' ];
break;
- case XAEnums.AssetType.ASSET_HBASE.value :
- permArr = ['XA_PERM_TYPE_READ','XA_PERM_TYPE_WRITE','XA_PERM_TYPE_CREATE','XA_PERM_TYPE_ADMIN'];
+ case XAEnums.AssetType.ASSET_HBASE.value:
+ permArr = [ 'XA_PERM_TYPE_READ', 'XA_PERM_TYPE_WRITE',
+ 'XA_PERM_TYPE_CREATE', 'XA_PERM_TYPE_ADMIN' ];
break;
- case XAEnums.AssetType.ASSET_KNOX.value :
- permArr = ['XA_PERM_TYPE_ALLOW','XA_PERM_TYPE_ADMIN'];
+ case XAEnums.AssetType.ASSET_KNOX.value:
+ permArr = [ 'XA_PERM_TYPE_ALLOW', 'XA_PERM_TYPE_ADMIN' ];
+ break;
+ case XAEnums.AssetType.ASSET_STORM.value:
+ permArr = [ 'XA_PERM_TYPE_ADMIN' ];
+ /*
+ * permArr =
+ * ['XA_PERM_TYPE_SUBMIT_TOPOLOGY','XA_PERM_TYPE_FILE_UPLOAD','XA_PERM_TYPE_GET_NIMBUS',
+ * 'XA_PERM_TYPE_GET_CLUSTER_INFO','XA_PERM_TYPE_FILE_DOWNLOAD','XA_PERM_TYPE_KILL_TOPOLOGY',
+ * 'XA_PERM_TYPE_REBALANCE','XA_PERM_TYPE_ACTIVATE','XA_PERM_TYPE_DEACTIVATE','XA_PERM_TYPE_GET_TOPOLOGY_CONF',
+ * 'XA_PERM_TYPE_GET_TOPOLOGY','XA_PERM_TYPE_GET_USER_TOPOLOGY','XA_PERM_TYPE_GET_TOPOLOGY_INFO','XA_PERM_TYPE_UPLOAD_NEW_CREDENTIAL' ];
+ */
break;
- case XAEnums.AssetType.ASSET_STORM.value :
- permArr = ['XA_PERM_TYPE_ADMIN'];
- /*permArr = ['XA_PERM_TYPE_SUBMIT_TOPOLOGY','XA_PERM_TYPE_FILE_UPLOAD','XA_PERM_TYPE_GET_NIMBUS',
- 'XA_PERM_TYPE_GET_CLUSTER_INFO','XA_PERM_TYPE_FILE_DOWNLOAD','XA_PERM_TYPE_KILL_TOPOLOGY',
- 'XA_PERM_TYPE_REBALANCE','XA_PERM_TYPE_ACTIVATE','XA_PERM_TYPE_DEACTIVATE','XA_PERM_TYPE_GET_TOPOLOGY_CONF',
- 'XA_PERM_TYPE_GET_TOPOLOGY','XA_PERM_TYPE_GET_USER_TOPOLOGY','XA_PERM_TYPE_GET_TOPOLOGY_INFO','XA_PERM_TYPE_UPLOAD_NEW_CREDENTIAL'
- ];*/
- break;
}
return permArr;
};
- XAUtils.getPermHeaders = function(policyType, isGroup){
- if(_.isUndefined(isGroup)) isGroup = true;
- var permHeaders = isGroup ? [localization.tt('lbl.selectGroup')] :[localization.tt('lbl.selectUser')];
-
- switch(policyType){
- case XAEnums.AssetType.ASSET_HDFS.value :
- permHeaders.push(localization.tt('lbl.read'),localization.tt('lbl.write'),localization.tt('lbl.execute'),localization.tt('lbl.admin'),'');
+ XAUtils.getPermHeaders = function(policyType, isGroup) {
+ if (_.isUndefined(isGroup))
+ isGroup = true;
+ var permHeaders = isGroup ? [ localization.tt('lbl.selectGroup') ]
+ : [ localization.tt('lbl.selectUser') ];
+
+ switch (policyType) {
+ case XAEnums.AssetType.ASSET_HDFS.value:
+ permHeaders.push(localization.tt('lbl.read'), localization
+ .tt('lbl.write'), localization.tt('lbl.execute'),
+ localization.tt('lbl.admin'), '');
+ break;
+ case XAEnums.AssetType.ASSET_HIVE.value:
+ permHeaders.push(localization.tt('lbl.select'), localization
+ .tt('lbl.update'), localization.tt('lbl.create'),
+ localization.tt('lbl.drop'), localization.tt('lbl.alter'),
+ localization.tt('lbl.index'), localization.tt('lbl.lock'),
+ localization.tt('lbl.all'), localization.tt('lbl.admin'),
+ '');
break;
- case XAEnums.AssetType.ASSET_HIVE.value :
- permHeaders.push(localization.tt('lbl.select'),localization.tt('lbl.update'),localization.tt('lbl.create'),localization.tt('lbl.drop'),localization.tt('lbl.alter'),localization.tt('lbl.index'),localization.tt('lbl.lock'),localization.tt('lbl.all'),localization.tt('lbl.admin'),'');
+ case XAEnums.AssetType.ASSET_HBASE.value:
+ permHeaders.push(localization.tt('lbl.read'), localization
+ .tt('lbl.write'), localization.tt('lbl.create'),
+ localization.tt('lbl.admin'), '');
break;
- case XAEnums.AssetType.ASSET_HBASE.value :
- permHeaders.push(localization.tt('lbl.read'),localization.tt('lbl.write'),localization.tt('lbl.create'),localization.tt('lbl.admin'),'');
+ case XAEnums.AssetType.ASSET_KNOX.value:
+ permHeaders.push(localization.tt('lbl.ipAddress'), localization
+ .tt('lbl.allow'), localization.tt('lbl.admin'), '');
break;
- case XAEnums.AssetType.ASSET_KNOX.value :
- permHeaders.push(localization.tt('lbl.ipAddress'),localization.tt('lbl.allow'),localization.tt('lbl.admin'),'');
+ case XAEnums.AssetType.ASSET_STORM.value:
+ permHeaders.push(localization.tt('lbl.actions'), localization
+ .tt('lbl.admin'), '');
break;
- case XAEnums.AssetType.ASSET_STORM.value :
- permHeaders.push(localization.tt('lbl.actions'),localization.tt('lbl.admin'),'');
- break;
}
return permHeaders;
};
- XAUtils.getStormActions = function(){
- return ['XA_PERM_TYPE_SUBMIT_TOPOLOGY','XA_PERM_TYPE_FILE_UPLOAD','XA_PERM_TYPE_GET_NIMBUS',
- 'XA_PERM_TYPE_GET_CLUSTER_INFO','XA_PERM_TYPE_FILE_DOWNLOAD','XA_PERM_TYPE_KILL_TOPOLOGY',
- 'XA_PERM_TYPE_REBALANCE','XA_PERM_TYPE_ACTIVATE','XA_PERM_TYPE_DEACTIVATE','XA_PERM_TYPE_GET_TOPOLOGY_CONF',
- 'XA_PERM_TYPE_GET_TOPOLOGY','XA_PERM_TYPE_GET_USER_TOPOLOGY','XA_PERM_TYPE_GET_TOPOLOGY_INFO','XA_PERM_TYPE_UPLOAD_NEW_CREDENTIAL'
- ];
+ XAUtils.getStormActions = function() {
+ return [ 'XA_PERM_TYPE_SUBMIT_TOPOLOGY', 'XA_PERM_TYPE_FILE_UPLOAD',
+ 'XA_PERM_TYPE_GET_NIMBUS', 'XA_PERM_TYPE_GET_CLUSTER_INFO',
+ 'XA_PERM_TYPE_FILE_DOWNLOAD', 'XA_PERM_TYPE_KILL_TOPOLOGY',
+ 'XA_PERM_TYPE_REBALANCE', 'XA_PERM_TYPE_ACTIVATE',
+ 'XA_PERM_TYPE_DEACTIVATE', 'XA_PERM_TYPE_GET_TOPOLOGY_CONF',
+ 'XA_PERM_TYPE_GET_TOPOLOGY', 'XA_PERM_TYPE_GET_USER_TOPOLOGY',
+ 'XA_PERM_TYPE_GET_TOPOLOGY_INFO',
+ 'XA_PERM_TYPE_UPLOAD_NEW_CREDENTIAL' ];
};
- XAUtils.highlightDisabledPolicy = function(that){
+ XAUtils.highlightDisabledPolicy = function(that) {
var $el = that.rTableList.$el;
- var timerId = setInterval(function(){
- if($el.find('tr td:last').text() != "No Policies found!"){
- _.each($el.find('tr td').find('.label-important'),function(a,b){
- if($(a).html() == "Disabled")
- console.log(that.$(a).parents('tr').addClass('disable-policy'))
- },that);
+ var timerId = setInterval(function() {
+ if ($el.find('tr td:last').text() != "No Policies found!") {
+ _.each($el.find('tr td').find('.label-important'), function(a,
+ b) {
+ if ($(a).html() == "Disabled")
+ console.log(that.$(a).parents('tr').addClass(
+ 'disable-policy'))
+ }, that);
clearInterval(timerId);
}
console.log('highlight disabled policy..');
- },5);
+ }, 5);
};
- XAUtils.showAlerForDisabledPolicy = function(that){
- if(!_.isUndefined(that.model.get('resourceStatus'))
- && that.model.get('resourceStatus') == XAEnums.ActiveStatus.STATUS_DISABLED.value){
+ XAUtils.showAlerForDisabledPolicy = function(that) {
+ if (!_.isUndefined(that.model.get('resourceStatus'))
+ && that.model.get('resourceStatus') == XAEnums.ActiveStatus.STATUS_DISABLED.value) {
that.ui.policyDisabledAlert.show();
that.$(that.rForm.el).addClass("policy-disabled");
- }else{
+ } else {
that.ui.policyDisabledAlert.hide();
that.$(that.rForm.el).removeClass("policy-disabled");
}
};
XAUtils.customXEditableForPolicyCond = function(template) {
-// $.fn.editable.defaults.mode = 'inline';
- var PolicyConditions = function (options) {
- this.init('policyConditions', options, PolicyConditions.defaults);
- };
-
- //inherit from Abstract input
- $.fn.editableutils.inherit(PolicyConditions, $.fn.editabletypes.abstractinput);
-
- $.extend(PolicyConditions.prototype, {
- render: function() {
- this.$input = this.$tpl.find('input');
- var pluginOpts = {tags : true,width :'220px',multiple: true,minimumInputLength: 1,tokenSeparators: [",", ";"],}
- this.$input.select2(pluginOpts);
- },
-
- value2str: function(value) {
- var str = '';
- if(value) {
- for(var k in value) {
- str = str + k + ':' + value[k].toString() + ';';
- }
- }
- return str;
- },
-
- value2input: function(value) {
- _.each(value, function(val,name){
- this.$input.filter('[name='+name+']').select2('val',value[name]);
- },this);
- },
-
- input2value: function() {
- var obj={};
- _.each(this.$input,function(input){
- var name = input.name;
- var val = this.$input.filter('[name="'+name+'"]').select2('val');
- obj[name] = val;
- },this);
-
- return obj;
- },
- activate: function() {
- this.$input.first().focus()
- },
- });
-
- PolicyConditions.defaults = $.extend({}, $.fn.editabletypes.abstractinput.defaults, {
- tpl: template,
-
- inputclass: ''
- });
- $.fn.editabletypes.policyConditions = PolicyConditions;
- };
- XAUtils.capitaliseFirstLetter = function (string){
- return string.charAt(0).toUpperCase() + string.slice(1);
- };
- XAUtils.lowerCaseFirstLetter = function (string){
- return string.charAt(0).toLowerCase() + string.slice(1);
+ // $.fn.editable.defaults.mode = 'inline';
+ var PolicyConditions = function(options) {
+ this.init('policyConditions', options, PolicyConditions.defaults);
+ };
+
+ // inherit from Abstract input
+ $.fn.editableutils.inherit(PolicyConditions,
+ $.fn.editabletypes.abstractinput);
+
+ $.extend(PolicyConditions.prototype, {
+ render : function() {
+ this.$input = this.$tpl.find('input');
+ var pluginOpts = {
+ tags : true,
+ width : '220px',
+ multiple : true,
+ minimumInputLength : 1,
+ tokenSeparators : [ ",", ";" ],
+ }
+ this.$input.select2(pluginOpts);
+ },
+
+ value2str : function(value) {
+ var str = '';
+ if (value) {
+ for ( var k in value) {
+ str = str + k + ':' + value[k].toString() + ';';
+ }
+ }
+ return str;
+ },
+
+ value2input : function(value) {
+ _.each(value, function(val, name) {
+ this.$input.filter('[name=' + name + ']').select2('val',
+ value[name]);
+ }, this);
+ },
+
+ input2value : function() {
+ var obj = {};
+ _.each(this.$input, function(input) {
+ var name = input.name;
+ var val = this.$input.filter('[name="' + name + '"]')
+ .select2('val');
+ obj[name] = val;
+ }, this);
+
+ return obj;
+ },
+ activate : function() {
+ this.$input.first().focus()
+ },
+ });
+
+ PolicyConditions.defaults = $.extend({},
+ $.fn.editabletypes.abstractinput.defaults, {
+ tpl : template,
+
+ inputclass : ''
+ });
+ $.fn.editabletypes.policyConditions = PolicyConditions;
+ };
+ XAUtils.capitaliseFirstLetter = function(string) {
+ return string.charAt(0).toUpperCase() + string.slice(1);
+ };
+ XAUtils.lowerCaseFirstLetter = function(string) {
+ return string.charAt(0).toLowerCase() + string.slice(1);
};
XAUtils.getServicePoliciesURL = function(serviceId) {
- return "service/plugins/policies/service/"+serviceId;
+ return "service/plugins/policies/service/" + serviceId;
};
XAUtils.getRangerServiceDef = function(name) {
- return "service/plugins/definitions/name/"+name;
+ return "service/plugins/definitions/name/" + name;
};
XAUtils.filterAllowedActions = function(controller) {
- var SessionMgr = require('mgrs/SessionMgr');
- var XAGlobals = require('utils/XAGlobals');
- var that = this;
- var vXPortalUser = SessionMgr.getUserProfile();
- var denyControllerActions= [];
- var userModuleNames = _.pluck(vXPortalUser.get('userPermList'),'moduleName');
- var groupModuleNames = _.pluck(vXPortalUser.get('groupPermissions'), 'moduleName');
- var moduleNames = _.union(userModuleNames,groupModuleNames);
- var denyModulesObj = _.omit(XAGlobals.ListOfModuleActions, moduleNames);
- if(!_.isEmpty(denyModulesObj)){
- _.each(denyModulesObj, function(deniedModule){
- denyControllerActions.push(_.values(deniedModule));
- });
- denyControllerActions = _.flatten(denyControllerActions);
- }
+ var SessionMgr = require('mgrs/SessionMgr');
+ if (!SessionMgr.isSystemAdmin()) {
- if(!_.isEmpty(denyControllerActions)){
- _.each(denyControllerActions, function(routeMethodName) {
- if(!_.isUndefined(controller[routeMethodName])){
- controller[routeMethodName] = function(){
- that.defaultErrorHandler(undefined, {'status':401});
- };
- }
- });
+ var XAGlobals = require('utils/XAGlobals');
+ var that = this;
+ var vXPortalUser = SessionMgr.getUserProfile();
+ var denyControllerActions = [];
+ var userModuleNames = _.pluck(vXPortalUser.get('userPermList'),
+ 'moduleName');
+ var groupModuleNames = _.pluck(
+ vXPortalUser.get('groupPermissions'), 'moduleName');
+ var moduleNames = _.union(userModuleNames, groupModuleNames);
+ var denyModulesObj = _.omit(XAGlobals.ListOfModuleActions,
+ moduleNames);
+ if (!_.isEmpty(denyModulesObj)) {
+ _.each(denyModulesObj, function(deniedModule) {
+ denyControllerActions.push(_.values(deniedModule));
+ });
+ denyControllerActions = _.flatten(denyControllerActions);
+ }
+
+ if (!_.isEmpty(denyControllerActions)) {
+ _.each(denyControllerActions, function(routeMethodName) {
+ if (!_.isUndefined(controller[routeMethodName])) {
+ controller[routeMethodName] = function() {
+ that.defaultErrorHandler(undefined, {
+ 'status' : 401
+ });
+ };
+ }
+ });
+ }
}
return controller;
};
XAUtils.getRangerServiceByName = function(name) {
- return "service/plugins/services/name/"+name;
+ return "service/plugins/services/name/" + name;
};
- return XAUtils;
+ return XAUtils;
});
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/de598fad/security-admin/src/test/java/org/apache/ranger/biz/TestXUserMgr.java
----------------------------------------------------------------------
diff --git a/security-admin/src/test/java/org/apache/ranger/biz/TestXUserMgr.java b/security-admin/src/test/java/org/apache/ranger/biz/TestXUserMgr.java
index 0c0f64e..a2403c0 100644
--- a/security-admin/src/test/java/org/apache/ranger/biz/TestXUserMgr.java
+++ b/security-admin/src/test/java/org/apache/ranger/biz/TestXUserMgr.java
@@ -1066,7 +1066,7 @@ public class TestXUserMgr {
Mockito.verify(xGroupPermissionService).deleteResource(1L);
}
- @Test
+ /*@Test
public void test43checkPermissionRoleByGivenUrls() {
XXModuleDefDao value = Mockito.mock(XXModuleDefDao.class);
XXPortalUserRoleDao xPortalUserRoleDao = Mockito
@@ -1097,7 +1097,7 @@ public class TestXUserMgr {
Mockito.verify(value).findModuleURLOfPemittedModules(null);
Mockito.verify(daoManager).getXXPortalUserRole();
Mockito.verify(xPortalUserRoleDao).findByUserId(null);
- }
+ }*/
@Test
public void test44getGroupsForUser() {