You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ranger.apache.org by pr...@apache.org on 2020/04/24 14:03:45 UTC

[ranger] branch master updated: RANGER-2794: Search is not working in Role page

This is an automated email from the ASF dual-hosted git repository.

pradeep pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ranger.git


The following commit(s) were added to refs/heads/master by this push:
     new 21a4c0d  RANGER-2794: Search is not working in Role page
21a4c0d is described below

commit 21a4c0dd2feba0b958fbc1a6d8b8009ccbbb818d
Author: maheshbandal <ma...@gmail.com>
AuthorDate: Wed Apr 22 23:35:24 2020 +0530

    RANGER-2794: Search is not working in Role page
    
    Signed-off-by: pradeep <pr...@apache.org>
---
 .../org/apache/ranger/service/RangerRoleServiceBase.java  | 13 +++++++++++++
 security-admin/src/main/webapp/scripts/utils/XAUtils.js   | 14 ++++++++++----
 .../main/webapp/scripts/views/policies/PermissionList.js  | 15 ++++++++++++---
 .../main/webapp/scripts/views/users/UserTableLayout.js    |  6 +++---
 4 files changed, 38 insertions(+), 10 deletions(-)

diff --git a/security-admin/src/main/java/org/apache/ranger/service/RangerRoleServiceBase.java b/security-admin/src/main/java/org/apache/ranger/service/RangerRoleServiceBase.java
index 5b22a53..39755da 100644
--- a/security-admin/src/main/java/org/apache/ranger/service/RangerRoleServiceBase.java
+++ b/security-admin/src/main/java/org/apache/ranger/service/RangerRoleServiceBase.java
@@ -34,6 +34,19 @@ public abstract class RangerRoleServiceBase<T extends XXRole, V extends RangerRo
 
         searchFields.add(new SearchField(SearchFilter.ROLE_ID, "obj.id", SearchField.DATA_TYPE.INTEGER, SearchField.SEARCH_TYPE.FULL));
         searchFields.add(new SearchField(SearchFilter.ROLE_NAME, "obj.name", SearchField.DATA_TYPE.STRING, SearchField.SEARCH_TYPE.FULL));
+		searchFields.add(new SearchField(SearchFilter.GROUP_NAME, "xXRoleRefGroup.groupName",
+				SearchField.DATA_TYPE.STRING, SearchField.SEARCH_TYPE.FULL, "XXRoleRefGroup xXRoleRefGroup",
+				"xXRoleRefGroup.roleId = obj.id"));
+		searchFields.add(new SearchField(SearchFilter.USER_NAME, "xXRoleRefUser.userName", SearchField.DATA_TYPE.STRING,
+				SearchField.SEARCH_TYPE.FULL, "XXRoleRefUser xXRoleRefUser", "xXRoleRefUser.roleId = obj.id"));
+		searchFields.add(new SearchField(SearchFilter.ROLE_NAME_PARTIAL, "obj.name", SearchField.DATA_TYPE.STRING,
+				SearchField.SEARCH_TYPE.PARTIAL));
+		searchFields.add(new SearchField(SearchFilter.GROUP_NAME_PARTIAL, "xXRoleRefGroup.groupName",
+				SearchField.DATA_TYPE.STRING, SearchField.SEARCH_TYPE.PARTIAL, "XXRoleRefGroup xXRoleRefGroup",
+				"xXRoleRefGroup.roleId = obj.id"));
+		searchFields.add(new SearchField(SearchFilter.USER_NAME_PARTIAL, "xXRoleRefUser.userName",
+				SearchField.DATA_TYPE.STRING, SearchField.SEARCH_TYPE.PARTIAL, "XXRoleRefUser xXRoleRefUser",
+				"xXRoleRefUser.roleId = obj.id"));
 
         sortFields.add(new SortField(SearchFilter.CREATE_TIME, "obj.createTime"));
         sortFields.add(new SortField(SearchFilter.UPDATE_TIME, "obj.updateTime"));
diff --git a/security-admin/src/main/webapp/scripts/utils/XAUtils.js b/security-admin/src/main/webapp/scripts/utils/XAUtils.js
index d02e077..31eb1b3 100644
--- a/security-admin/src/main/webapp/scripts/utils/XAUtils.js
+++ b/security-admin/src/main/webapp/scripts/utils/XAUtils.js
@@ -1675,10 +1675,16 @@ define(function(require) {
                 url: searchUrl,
                 dataType: 'json',
                 data: function(term, page) {
-                    return {
-                        name: term,
-                        isVisible : XAEnums.VisibilityStatus.STATUS_VISIBLE.value,
-                    };
+                    if($select === 'roles') {
+                        return {
+                            roleNamePartial: term
+                        }
+                    } else {
+                        return {
+                            name: term,
+                            isVisible : XAEnums.VisibilityStatus.STATUS_VISIBLE.value,
+                        }
+                    }
                 },
                 results: function(data, page) {
                     var results = [],
diff --git a/security-admin/src/main/webapp/scripts/views/policies/PermissionList.js b/security-admin/src/main/webapp/scripts/views/policies/PermissionList.js
index cf5aff9..9f6af3e 100644
--- a/security-admin/src/main/webapp/scripts/views/policies/PermissionList.js
+++ b/security-admin/src/main/webapp/scripts/views/policies/PermissionList.js
@@ -224,13 +224,22 @@ define(function(require) {
 				initSelection : function (element, callback) {
 					callback(tags);
 				},
-				ajax: { 
+				ajax: {
 					url: searchUrl,
 					dataType: 'json',
 					data: function (term, page) {
-						return {name : term, isVisible : XAEnums.VisibilityStatus.STATUS_VISIBLE.value};
+						if(type === 'roles') {
+							return {
+								roleNamePartial: term
+							}
+						} else {
+							return {
+								name: term,
+								isVisible : XAEnums.VisibilityStatus.STATUS_VISIBLE.value,
+							}
+						}
 					},
-					results: function (data, page) { 
+					results: function (data, page) {
 						var results = [] , selectedVals = [];
 						//Get selected values of groups/users dropdown
                                                 selectedVals = that.getSelectedValues($select, type);
diff --git a/security-admin/src/main/webapp/scripts/views/users/UserTableLayout.js b/security-admin/src/main/webapp/scripts/views/users/UserTableLayout.js
index 2b82181..41ca572 100755
--- a/security-admin/src/main/webapp/scripts/views/users/UserTableLayout.js
+++ b/security-admin/src/main/webapp/scripts/views/users/UserTableLayout.js
@@ -991,9 +991,9 @@ define(function(require){
                 placeholder = localization.tt('h.searchForYourRole');
                 coll = this.roleList;
                 searchOpt = ['Role Name','User Name', 'Group Name', /*Role ID*/];//,'Start Date','End Date','Today'];
-                serverAttrName  = [{text : "Role Name", label :"roleName", urlLabel : "roleName"},
-                                   {text : "User Name", label :"userName", urlLabel : "userName"},
-                                   {text : "Group Name", label :"groupName", urlLabel : "groupName"},
+                serverAttrName  = [{text : "Role Name", label :"roleNamePartial", urlLabel : "roleName"},
+                                   {text : "User Name", label :"userNamePartial", urlLabel : "userName"},
+                                   {text : "Group Name", label :"groupNamePartial", urlLabel : "groupName"},
                                 ];
             }
             var query = '';