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

madhan pushed a commit to branch ranger-2.2
in repository https://gitbox.apache.org/repos/asf/ranger.git


The following commit(s) were added to refs/heads/ranger-2.2 by this push:
     new 1c855b3  RANGER-3117: UI updates to enable opening audit details in a 
separate tab
1c855b3 is described below

commit 1c855b31895eaf6301c6bf237b23f88b04ad2ac7
Author: Dhaval Rajpara <[email protected]>
AuthorDate: Sat Jan 9 01:12:23 2021 +0530

    RANGER-3117: UI updates to enable opening audit details in a separate tab
    
    Signed-off-by: Madhan Neethiraj <[email protected]>
    (cherry picked from commit 08b09151a5115cdaac9019690a839f7a67330a9b)
---
 .../src/main/webapp/scripts/controllers/Controller.js  | 18 ++++++++++++++++++
 .../src/main/webapp/scripts/controllers/NController.js | 18 ++++++++++++++++++
 .../src/main/webapp/scripts/routers/Router.js          |  1 +
 .../scripts/views/reports/AuditAccessLogDetailView.js  | 10 +++++++++-
 .../main/webapp/scripts/views/reports/AuditLayout.js   | 15 ++++++++-------
 security-admin/src/main/webapp/styles/xa.css           | 10 +++++-----
 .../templates/reports/AuditAccessLogDetail_tmpl.html   |  5 +++++
 7 files changed, 64 insertions(+), 13 deletions(-)

diff --git a/security-admin/src/main/webapp/scripts/controllers/Controller.js 
b/security-admin/src/main/webapp/scripts/controllers/Controller.js
index b026b33..21eb963 100755
--- a/security-admin/src/main/webapp/scripts/controllers/Controller.js
+++ b/security-admin/src/main/webapp/scripts/controllers/Controller.js
@@ -112,6 +112,24 @@ define(function(require) {
                 }));
             });
         },
+        auditEventDetail: function(eventID) {
+            MAppState.set({
+                'currentTab': XAGlobals.AppTabs.AccessManager.value
+            });
+            var view = require('views/reports/AuditAccessLogDetailView');
+            var VXAccessAuditList = require('collections/VXAccessAuditList');
+            var auditList = new VXAccessAuditList();
+            auditList.url = 'service/assets/accessAudit?eventId='+eventID
+            auditList.fetch({
+               cache : false,
+               async : false
+            }).done(function() {
+                App.rContent.show(new view({
+                    auditaccessDetail : auditList.models[0].attributes,
+                    auditAccessView : true,
+                }));
+            })
+        },
         //************** UserProfile Related *********************/
         userProfileAction: function() {
             MAppState.set({
diff --git a/security-admin/src/main/webapp/scripts/controllers/NController.js 
b/security-admin/src/main/webapp/scripts/controllers/NController.js
index f6c291e..13ee4c6 100644
--- a/security-admin/src/main/webapp/scripts/controllers/NController.js
+++ b/security-admin/src/main/webapp/scripts/controllers/NController.js
@@ -114,6 +114,24 @@ define(function(require) {
                 }));
             });
         },
+        auditEventDetail: function(eventID) {
+            MAppState.set({
+                'currentTab': XAGlobals.AppTabs.AccessManager.value
+            });
+            var view = require('views/reports/AuditAccessLogDetailView');
+            var VXAccessAuditList = require('collections/VXAccessAuditList');
+            var auditList = new VXAccessAuditList();
+            auditList.url = 'service/assets/accessAudit?eventId='+eventID
+            auditList.fetch({
+               cache : false,
+               async : false
+            }).done(function() {
+                App.rContent.show(new view({
+                    auditaccessDetail : auditList.models[0].attributes,
+                    auditAccessView : true,
+                }));
+            })
+        },
         //************** UserProfile Related *********************/
         userProfileAction: function() {
             MAppState.set({
diff --git a/security-admin/src/main/webapp/scripts/routers/Router.js 
b/security-admin/src/main/webapp/scripts/routers/Router.js
index 0cb69a3..448659e 100644
--- a/security-admin/src/main/webapp/scripts/routers/Router.js
+++ b/security-admin/src/main/webapp/scripts/routers/Router.js
@@ -41,6 +41,7 @@ function(Backbone, Marionette, localization, MAppState, 
XAUtil, bootbox){
                        /****** Audit Report related **********************/
                        "!/reports/audit/:tab"                                  
: "auditReportAction",
                        "!/reports/audit/loginSession/:paramName/:id"   : 
"loginSessionDetail",
+                       "!/reports/audit/eventlog/:id"  : "auditEventDetail",
                        
                        /****** User Profile related **********************/
                        "!/userprofile"         : "userProfileAction",
diff --git 
a/security-admin/src/main/webapp/scripts/views/reports/AuditAccessLogDetailView.js
 
b/security-admin/src/main/webapp/scripts/views/reports/AuditAccessLogDetailView.js
index 8b5181b..57ffaea 100644
--- 
a/security-admin/src/main/webapp/scripts/views/reports/AuditAccessLogDetailView.js
+++ 
b/security-admin/src/main/webapp/scripts/views/reports/AuditAccessLogDetailView.js
@@ -36,6 +36,10 @@ define(function(require) {
 
             template: AuditAccessLogDetailTmpl,
 
+            breadCrumbs :function(){
+                return 'Audit Access Log Detail'
+            },
+
             templateHelpers: function() {
                 var that = this, result;
                 result = _.filter(XAEnums.AccessResult, function(e){ return 
e.value === that.auditaccessDetail.accessResult });
@@ -47,6 +51,7 @@ define(function(require) {
                                 this.auditaccessDetail.aclEnforcer === 
"ranger-acl" && this.auditaccessDetail.requestData) ? true : false,
 
                     tag : this.tags ? this.tags.join() : undefined,
+                    auditAccessView : this.auditAccessView,
                 }
             },
 
@@ -66,7 +71,10 @@ define(function(require) {
              */
             initialize: function(options) {
                 console.log("Initialized a Ranger Audit Access Log Details");
-                _.extend(this, _.pick(options, 'auditaccessDetail'));
+                _.extend(this, _.pick(options, 'auditaccessDetail', 
'auditAccessView'));
+                if(_.isUndefined(this.auditAccessView)) {
+                    this.auditAccessView = false
+                }
                 if (this.auditaccessDetail.tags) {
                     var tag = JSON.parse(this.auditaccessDetail.tags);
                     this.tags = _.map(tag, function(m) {
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 0f8315b..0b24c10 100644
--- a/security-admin/src/main/webapp/scripts/views/reports/AuditLayout.js
+++ b/security-admin/src/main/webapp/scripts/views/reports/AuditLayout.js
@@ -1148,6 +1148,8 @@ define(function(require) {
                                onClick: function (e) {
                     var self = this ;
                     if($(e.target).hasClass('policyIdColumn') || 
$(e.target).closest('td').hasClass("policyIdColumn")) {
+                        if($(e.target).is('.fa-external-link'))
+                            return;
                         if(this.model.get('repoType')){
                                     var repoType =  this.model.get('repoType');
                                 }
@@ -1198,10 +1200,12 @@ define(function(require) {
                         var view = new AuditAccessLogDetail({
                             auditaccessDetail : this.model.attributes,
                         });
+                        var url =Backbone.history.location.href.substring(0, 
Backbone.history.location.href.indexOf('#!'))+'#!/reports/audit/eventlog/'+this.model.get('eventId');
+                        var eventUrl = '<a href="'+url+'" target="_blank" 
title="Show log details in next tab"> <i class="fa-fw fa fa-external-link 
pull-right"></i> </a>';
                         var modal = new Backbone.BootstrapModal({
                             animate : true,
                             content     : view,
-                            title: localization.tt("lbl.auditAccessDetail"),
+                            title: localization.tt("lbl.auditAccessDetail") + 
eventUrl,
                             okText :localization.tt("lbl.ok"),
                             allowCancel : true,
                             escape : true,
@@ -1247,14 +1251,11 @@ define(function(require) {
                                                 }),
                                                formatter: _.extend({}, 
Backgrid.CellFormatter.prototype, {
                                                        fromRaw: function 
(rawValue, model) {
-                                                               if(rawValue == 
-1){
+                                                               var serviceDef 
= that.serviceDefList.findWhere({'id' : model.get('repoType')}),
+                                                               href = 
'javascript:void(0)';
+                                                               if(rawValue == 
-1 || _.isUndefined(serviceDef)){
                                                                        return 
'--';
-                                                               }       
-                                                               var serviceDef 
= that.serviceDefList.findWhere({'id' : model.get('repoType')})
-                                                               
if(_.isUndefined(serviceDef)){
-                                                                       return 
rawValue;
                                                                }
-                                                               var href = 
'javascript:void(0)';
                                                                return '<a 
href="'+href+'" title="'+rawValue+'">'+rawValue+'</a>';
                                                        }
                                                }),
diff --git a/security-admin/src/main/webapp/styles/xa.css 
b/security-admin/src/main/webapp/styles/xa.css
index 2e2ca76..ecfb26f 100644
--- a/security-admin/src/main/webapp/styles/xa.css
+++ b/security-admin/src/main/webapp/styles/xa.css
@@ -4509,8 +4509,8 @@ input.textFiledInputPadding:disabled {
 
 .backgrid th:not(.renderable), .backgrid td:not(.renderable){
     display: none;
-}/*[fieldclass="resorces-css"] .control-label {
-  margin-top: 0px;
-  margin-right: -15px
-}*/
-/*End of Overriden styles*/
\ No newline at end of file
+}
+
+#serviceDetails tbody {
+  background-color: white;
+}
\ No newline at end of file
diff --git 
a/security-admin/src/main/webapp/templates/reports/AuditAccessLogDetail_tmpl.html
 
b/security-admin/src/main/webapp/templates/reports/AuditAccessLogDetail_tmpl.html
index fe41386..b3e2c66 100644
--- 
a/security-admin/src/main/webapp/templates/reports/AuditAccessLogDetail_tmpl.html
+++ 
b/security-admin/src/main/webapp/templates/reports/AuditAccessLogDetail_tmpl.html
@@ -16,6 +16,11 @@
 --}}
 <div id="serviceDetails" class="row">
     <table class="table table-bordered table-condensed">
+        {{#if auditAccessView}}
+            <thead>
+                <h4>Ranger – audit log</h4>
+            </thead>
+        {{/if}}
         <tbody>
             <tr>
                 <td>

Reply via email to