Repository: incubator-ranger
Updated Branches:
  refs/heads/tag-policy 722a5ba49 -> 7ac1b6c87


RANGER-611 : Update policy listing page with a new column Policy Type

Signed-off-by: Madhan Neethiraj <[email protected]>


Project: http://git-wip-us.apache.org/repos/asf/incubator-ranger/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ranger/commit/7ac1b6c8
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ranger/tree/7ac1b6c8
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ranger/diff/7ac1b6c8

Branch: refs/heads/tag-policy
Commit: 7ac1b6c87d6363ac2b124a1e2d843ff185de5109
Parents: 722a5ba
Author: Gautam Borad <[email protected]>
Authored: Wed Aug 19 18:16:43 2015 +0530
Committer: Madhan Neethiraj <[email protected]>
Committed: Wed Aug 19 08:07:59 2015 -0700

----------------------------------------------------------------------
 .../java/org/apache/ranger/rest/AssetREST.java  |  2 +-
 .../ranger/service/XAccessAuditService.java     |  2 +-
 .../views/policies/RangerPolicyTableLayout.js   | 26 +++++++++++++++++---
 .../views/reports/PlugableServiceDiffDetail.js  | 14 +++++++++++
 .../scripts/views/reports/UserAccessLayout.js   | 11 +++++++++
 5 files changed, 50 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/7ac1b6c8/security-admin/src/main/java/org/apache/ranger/rest/AssetREST.java
----------------------------------------------------------------------
diff --git a/security-admin/src/main/java/org/apache/ranger/rest/AssetREST.java 
b/security-admin/src/main/java/org/apache/ranger/rest/AssetREST.java
index b931f7b..1739b90 100644
--- a/security-admin/src/main/java/org/apache/ranger/rest/AssetREST.java
+++ b/security-admin/src/main/java/org/apache/ranger/rest/AssetREST.java
@@ -633,7 +633,7 @@ public class AssetREST {
                searchUtil.extractDate(request, searchCriteria, "endDate", 
"endDate",
                                "MM/dd/yyyy");
 
-               searchUtil.extractStringList(request, searchCriteria, "tags", 
"Tag List", "tags", null, null);
+               searchUtil.extractString(request, searchCriteria, "tags", 
"tags", null);
                return assetMgr.getAccessLogs(searchCriteria);
        }
        

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/7ac1b6c8/security-admin/src/main/java/org/apache/ranger/service/XAccessAuditService.java
----------------------------------------------------------------------
diff --git 
a/security-admin/src/main/java/org/apache/ranger/service/XAccessAuditService.java
 
b/security-admin/src/main/java/org/apache/ranger/service/XAccessAuditService.java
index 20079fb..2bca389 100644
--- 
a/security-admin/src/main/java/org/apache/ranger/service/XAccessAuditService.java
+++ 
b/security-admin/src/main/java/org/apache/ranger/service/XAccessAuditService.java
@@ -100,7 +100,7 @@ public class XAccessAuditService extends 
XAccessAuditServiceBase<XXAccessAudit,
                                DATA_TYPE.DATE, 
SEARCH_TYPE.GREATER_EQUAL_THAN));
                searchFields.add(new SearchField("endDate", "obj.eventTime", 
                                DATA_TYPE.DATE, SEARCH_TYPE.LESS_EQUAL_THAN));
-               searchFields.add(new SearchField("tags", "obj.tags", 
DATA_TYPE.STR_LIST, SEARCH_TYPE.PARTIAL));
+               searchFields.add(new SearchField("tags", "obj.tags", 
DATA_TYPE.STRING, SEARCH_TYPE.PARTIAL));
                sortFields.add(new SortField("eventTime", "obj.eventTime", 
true, SORT_ORDER.DESC));
 }
 

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/7ac1b6c8/security-admin/src/main/webapp/scripts/views/policies/RangerPolicyTableLayout.js
----------------------------------------------------------------------
diff --git 
a/security-admin/src/main/webapp/scripts/views/policies/RangerPolicyTableLayout.js
 
b/security-admin/src/main/webapp/scripts/views/policies/RangerPolicyTableLayout.js
index e306ec4..93cffce 100644
--- 
a/security-admin/src/main/webapp/scripts/views/policies/RangerPolicyTableLayout.js
+++ 
b/security-admin/src/main/webapp/scripts/views/policies/RangerPolicyTableLayout.js
@@ -169,6 +169,17 @@ define(function(require){
                                        editable: false,
                                        sortable : false
                                },      
+                               policyType : {
+                                       cell : 'html',
+                                       label   : 
localization.tt("lbl.policyType"),
+                                       formatter: _.extend({}, 
Backgrid.CellFormatter.prototype, {
+                                               fromRaw: function (rawValue) {
+                                                       return rawValue === 0 ? 
'<label label-success">Allow</label>' : rawValue === 1 ? '<label 
label-important">Deny</label>' : '<label label-success">Exclusive 
Allow</label>'; 
+                                               }
+                                       }),
+                                       editable: false,
+                                       sortable : false
+                               },
                                isEnabled:{
                                        label:localization.tt('lbl.status'),
                                        cell :"html",
@@ -319,11 +330,13 @@ define(function(require){
                addVisualSearch : function(){
                        var that = this;
                        var resourceSearchOpt = 
_.map(this.rangerServiceDefModel.get('resources'), function(resource){ return 
XAUtil.capitaliseFirstLetter(resource.name) });
-       
-                       var searchOpt = ['Policy Name','Group Name','User 
Name','Status'];//,'Start Date','End Date','Today'];
+                       
+                       var PolicyListValue = _.map(XAEnums.PolicyType, 
function(type) { return { 'label': type.label, 'value': type.value};});
+                       var searchOpt = ['Policy Name','Group Name','User 
Name','Status','Policy Type'];//,'Start Date','End Date','Today'];
                        searchOpt = _.union(searchOpt, resourceSearchOpt)
                        var serverAttrName  = [{text : "Policy Name", label 
:"policyName"},{text : "Group Name", label :"group"},
-                                              {text : "User Name", label 
:"user"}, {text : "Status", label :"isEnabled"}];
+                                              {text : "User Name", label 
:"user"}, {text : "Status", label :"isEnabled"},
+                                              {text : "Policy Type", label 
:"policyType",'multiple' : true, 'optionsArr' : PolicyListValue}];
                                             // {text : 'Start Date',label 
:'startDate'},{text : 'End Date',label :'endDate'},
                                                 //  {text : 'Today',label 
:'today'}];
                        var serverRsrcAttrName = 
_.map(resourceSearchOpt,function(opt){ 
@@ -341,6 +354,10 @@ define(function(require){
                                                                        case 
'Status':
                                                                                
callback(that.getActiveStatusNVList());
                                                                                
break;
+                                                                       case 
'Policy Type':
+                                                                               
callback(that.getNameOfPolicyTypeNVList());
+//                                                                             
callback(XAUtil.enumToSelectLabelValuePairs(XAEnums.PolicyType));
+                                                                               
break;          
                                                                /*      case 
'Audit Status':
                                                                                
callback(XAUtil.enumToSelectLabelValuePairs(XAEnums.AuthType));
                                                                                
break;  
@@ -368,6 +385,9 @@ define(function(require){
                        });
                        return _.map(activeStatusList, function(status) { 
return { 'label': status.label, 'value': status.label.toLowerCase()}; })
                },
+               getNameOfPolicyTypeNVList : function() {
+                       return _.map(XAEnums.PolicyType, function(type) { 
return { 'label': type.label, 'value': type.label};});
+               },
                /** on close */
                onClose: function(){
                }

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/7ac1b6c8/security-admin/src/main/webapp/scripts/views/reports/PlugableServiceDiffDetail.js
----------------------------------------------------------------------
diff --git 
a/security-admin/src/main/webapp/scripts/views/reports/PlugableServiceDiffDetail.js
 
b/security-admin/src/main/webapp/scripts/views/reports/PlugableServiceDiffDetail.js
index ceb8898..40db4cb 100644
--- 
a/security-admin/src/main/webapp/scripts/views/reports/PlugableServiceDiffDetail.js
+++ 
b/security-admin/src/main/webapp/scripts/views/reports/PlugableServiceDiffDetail.js
@@ -216,6 +216,20 @@ define(function(require){
                        if(!_.isUndefined(policyItems)){
                                this.getPolicyItems();
                        }
+                       var policyType = 
this.collection.findWhere({'attributeName':'Policy Type'});
+                       /*if(this.action == 'delete'){
+                               this.template = PolicyOperationDiff_tmpl;
+                       }*/
+                       if(!_.isUndefined(policyType)){
+                               if(!_.isEmpty(policyType.get('previousValue'))){
+                                       var tmp = 
this.collection.get(policyType.id);
+                                       tmp.set("previousValue", 
policyType.get('previousValue') ===  "0" ? 'Allow' : 
policyType.get('previousValue') ===  "1" ? 'Deny' : "Exclusive Allow");
+                               }
+                               if(!_.isEmpty(policyType.get('newValue'))){
+                                       var tmp = 
this.collection.get(policyType.id);
+                                       tmp.set("newValue", 
policyType.get('newValue') ===  "0" ? 'Allow' : policyType.get('newValue') ===  
"1" ? 'Deny' : "Exclusive Allow");
+                               }
+                       }
                },
                getPolicyResources : function() {
                        var policyResources = 
this.collection.findWhere({'attributeName':'Policy Resources'});

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/7ac1b6c8/security-admin/src/main/webapp/scripts/views/reports/UserAccessLayout.js
----------------------------------------------------------------------
diff --git 
a/security-admin/src/main/webapp/scripts/views/reports/UserAccessLayout.js 
b/security-admin/src/main/webapp/scripts/views/reports/UserAccessLayout.js
index b1ed454..5c5309d 100644
--- a/security-admin/src/main/webapp/scripts/views/reports/UserAccessLayout.js
+++ b/security-admin/src/main/webapp/scripts/views/reports/UserAccessLayout.js
@@ -208,6 +208,17 @@ define(function(require) {'use strict';
                                        label   : 
localization.tt("lbl.policyName"),
                                        editable: false,
                                        sortable : false
+                               },
+                               policyType : {
+                                       cell : 'html',
+                                       label   : 
localization.tt("lbl.policyType"),
+                                       formatter: _.extend({}, 
Backgrid.CellFormatter.prototype, {
+                                               fromRaw: function (rawValue) {
+                                                       return rawValue === 0 ? 
'<label label-success">Allow</label>' : rawValue === 1 ? '<label 
label-important">Deny</label>' : '<label label-success">Exclusive 
Allow</label>'; 
+                                               }
+                                       }),
+                                       editable: false,
+                                       sortable : false
                                },      
                                isEnabled:{
                                        label:localization.tt('lbl.status'),

Reply via email to