Repository: incubator-ranger
Updated Branches:
  refs/heads/stack 93e578d48 -> 145fe6d6e


RNAGER-203: UI fixes to address the following: 1) drop-down in policy search 
page now incldues resource of the service-type 2) audit page fixed to show 
repository type and name correctly


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

Branch: refs/heads/stack
Commit: 145fe6d6ef5b1e71498657031943aa1b728a1cb9
Parents: 93e578d
Author: Gautam Borad <[email protected]>
Authored: Thu Feb 5 11:13:52 2015 -0800
Committer: Madhan Neethiraj <[email protected]>
Committed: Thu Feb 5 11:13:52 2015 -0800

----------------------------------------------------------------------
 .../src/main/webapp/scripts/utils/XAUtils.js    |  5 +-
 .../views/policies/RangerPolicyTableLayout.js   | 11 +++-
 .../webapp/scripts/views/reports/AuditLayout.js | 55 +++++++++++---------
 3 files changed, 43 insertions(+), 28 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/145fe6d6/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 f90a3e6..2acef28 100644
--- a/security-admin/src/main/webapp/scripts/utils/XAUtils.js
+++ b/security-admin/src/main/webapp/scripts/utils/XAUtils.js
@@ -527,7 +527,7 @@ define(function(require) {
                                                                } 
                                                        });
                                                        
//visualSearch.options.readOnly = searchOptTemp.length <= 0 ? true : false;
-                                                       callback(searchOptTemp);
+                                                       
callback(searchOptTemp,{preserveOrder : false});
                                                },
                removedFacet : function(removedFacet,searchCollection,indexObj){
                                                        
//console.log(removedFacet);
@@ -735,6 +735,9 @@ define(function(require) {
        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;
        };

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/145fe6d6/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 a805e27..702d79f 100644
--- 
a/security-admin/src/main/webapp/scripts/views/policies/RangerPolicyTableLayout.js
+++ 
b/security-admin/src/main/webapp/scripts/views/policies/RangerPolicyTableLayout.js
@@ -308,12 +308,19 @@ 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'];
+                       searchOpt = _.union(searchOpt, resourceSearchOpt)
                        var serverAttrName  = [{text : "Policy Name", label 
:"policyName"},{text : "Group Name", label :"group"},
                                                {text : "User Name", label 
:"user"}, {text : "Status", label :"status"}];
                                             // {text : 'Start Date',label 
:'startDate'},{text : 'End Date',label :'endDate'},
                                                 //  {text : 'Today',label 
:'today'}];
-                                                                       
+                       var serverRsrcAttrName = 
_.map(resourceSearchOpt,function(opt){ 
+                               return { 'text': 
XAUtil.capitaliseFirstLetter(opt), 
+                                       'label': 
'resource:'+XAUtil.lowerCaseFirstLetter(opt) }; 
+                       });
+                       serverAttrName = _.union(serverAttrName, 
serverRsrcAttrName)
                        var pluginAttr = {
                                      placeholder 
:localization.tt('h.searchForPolicy'),
                                      container : this.ui.visualSearch,
@@ -322,7 +329,7 @@ define(function(require){
                                          valueMatches :function(facet, 
searchTerm, callback) {
                                                                switch (facet) {
                                                                        case 
'Status':
-                                                                               
callback(this.getActiveStatusNVList());
+                                                                               
callback(that.getActiveStatusNVList());
                                                                                
break;
                                                                /*      case 
'Audit Status':
                                                                                
callback(XAUtil.enumToSelectLabelValuePairs(XAEnums.AuthType));

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/145fe6d6/security-admin/src/main/webapp/scripts/views/reports/AuditLayout.js
----------------------------------------------------------------------
diff --git 
a/security-admin/src/main/webapp/scripts/views/reports/AuditLayout.js 
b/security-admin/src/main/webapp/scripts/views/reports/AuditLayout.js
index 2c79ed2..e8496db 100644
--- a/security-admin/src/main/webapp/scripts/views/reports/AuditLayout.js
+++ b/security-admin/src/main/webapp/scripts/views/reports/AuditLayout.js
@@ -108,6 +108,7 @@ define(function(require) {
                        this.currentTab = '#'+this.tab;
                        var date = new Date().toString();
                        this.timezone = date.replace(/^.*GMT.*\(/, 
"").replace(/\)$/, "");
+                       this.initializeServiceDefColl();
                },
 
                /** all events binding here */
@@ -132,6 +133,14 @@ define(function(require) {
                                //that.onSearch();
                        },XAGlobals.settings.AUDIT_REPORT_POLLING);
                },
+               initializeServiceDefColl : function() {
+                       this.serviceDefList                     = new 
RangerServiceDefList();
+                       this.serviceDefList.fetch({ 
+                               cache : false,
+                               async:false
+                       });
+                       return this.serviceDefList;
+               },
                /** on render callback */
                onRender : function() {
                        this.initializePlugins();
@@ -260,8 +269,7 @@ define(function(require) {
                },
                addSearchForBigDataTab :function(){
                        var that = this;
-                       var serviceDefList = this.getServiceDefList();
-                       var serverListForRepoType =  
serviceDefList.map(function(serviceDef){ return {'label' : 
serviceDef.get('name').toUpperCase(), 'value' : serviceDef.get('id')}; })
+                       var serverListForRepoType =  
this.serviceDefList.map(function(serviceDef){ return {'label' : 
serviceDef.get('name').toUpperCase(), 'value' : serviceDef.get('id')}; })
                        var serverAttrName = [{text : 'Start Date',label 
:'startDate'},{text : 'End Date',label :'endDate'},
                                              {text : 'Today',label 
:'today'},{text : 'User',label :'requestUser'},
                                              {text : 'Resource Name',label 
:'resourcePath'},{text : 'Policy ID',label :'policyId'},
@@ -299,7 +307,7 @@ define(function(require) {
                                                                });
                                                                break;
                                                        case 'Repository Type':
-                                                               var serviceList 
=  serviceDefList.map(function(serviceDef){ return {'label' : 
serviceDef.get('name').toUpperCase(), 'value' : 
serviceDef.get('name').toUpperCase()}; })
+                                                               var serviceList 
=  that.serviceDefList.map(function(serviceDef){ return {'label' : 
serviceDef.get('name').toUpperCase(), 'value' : 
serviceDef.get('name').toUpperCase()}; })
                                                                
callback(serviceList);
                                                                break;
                                                        case 'Result':
@@ -332,15 +340,6 @@ define(function(require) {
                        };
                        this.visualSearch = 
XAUtils.addVisualSearch(searchOpt,serverAttrName, this.accessAuditList, 
pluginAttr);
                },
-               getServiceDefList : function() {
-                       var serviceList=[];
-                       var serviceDefList                      = new 
RangerServiceDefList();
-                       serviceDefList.fetch({ 
-                               cache : false,
-                               async:false
-                       });
-                       return serviceDefList;
-               },
                addSearchForAdminTab : function(){
                        var that = this;
                        //var searchOpt = _.pluck(this.getAdminTableColumns(), 
'label');
@@ -733,16 +732,22 @@ define(function(require) {
                        var that = this;
                        var cols = {
                                        policyId : {
-                                               cell : "uri",
-                                               href: function(model){
-                                                       var rangerService = new 
RangerService();
-                                                       rangerService.urlRoot 
+= '/name/'+model.get('repoName'); 
-                                                       rangerService.fetch({
-                                                         cache : false,
-                                                         async : false
-                                                       });
-                                                       return 
'#!/service/'+rangerService.get('id')+'/policies/'+model.get('policyId')+'/edit';
-                                               },
+                                               cell : "html",
+                                               formatter: _.extend({}, 
Backgrid.CellFormatter.prototype, {
+                                                       fromRaw: function 
(rawValue, model) {
+                                                               if(rawValue == 
-1){
+                                                                       return 
rawValue;
+                                                               }       
+                                                               var 
rangerService = new RangerService();
+                                                               
rangerService.urlRoot += '/name/'+model.get('repoName'); 
+                                                               
rangerService.fetch({
+                                                                 cache : false,
+                                                                 async : false
+                                                               });
+                                                               var href = 
'#!/service/'+rangerService.get('id')+'/policies/'+model.get('policyId')+'/edit';
+                                                               return '<a 
href="'+href+'" title="'+rawValue+'">'+rawValue+'</a>';
+                                                       }
+                                               }),
                                                label   : 
localization.tt("lbl.policyId"),
                                                editable: false,
                                                sortable : false
@@ -780,10 +785,10 @@ define(function(require) {
                                                        fromRaw: function 
(rawValue, model) {
                                                                var html='';
                                                                var repoType = 
model.get('repoType');
-                                                               
_.each(_.toArray(XAEnums.AssetType),function(m){
-                                                                       
if(parseInt(repoType) == m.value){
+                                                               
that.serviceDefList.each(function(m){
+                                                                       
if(parseInt(repoType) == m.id){
                                                                                
html =  '<div title="'+rawValue+'">'+rawValue+'</div>\
-                                                                               
<div title="'+rawValue+'" style="border-top: 1px solid 
#ddd;">'+m.label+'</div>';
+                                                                               
<div title="'+rawValue+'" style="border-top: 1px solid 
#ddd;">'+m.get('name')+'</div>';
                                                                                
return ;
                                                                        }       
                                                                });

Reply via email to