You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ranger.apache.org by ni...@apache.org on 2021/03/18 05:09:33 UTC
[ranger] branch master updated: RANGER-3191 : Ranger UI for
configuring Audit filters addend patch.
This is an automated email from the ASF dual-hosted git repository.
ni3galave 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 c1ceea3 RANGER-3191 : Ranger UI for configuring Audit filters addend patch.
c1ceea3 is described below
commit c1ceea3aada52c92cae70d4aa05b4b9ed8508358
Author: Nitin Galave <ni...@apache.org>
AuthorDate: Wed Mar 17 18:52:45 2021 +0530
RANGER-3191 : Ranger UI for configuring Audit filters addend patch.
---
.../src/main/webapp/scripts/utils/XAEnums.js | 5 ++-
.../scripts/views/service/AuditFilterConfig.js | 45 +++++++++++++---------
.../webapp/scripts/views/service/ServiceForm.js | 4 +-
security-admin/src/main/webapp/styles/xa.css | 4 +-
.../templates/service/AuditFilterItem_tmpl.html | 16 ++++----
.../webapp/templates/service/ServiceForm_tmpl.html | 2 +-
6 files changed, 43 insertions(+), 33 deletions(-)
diff --git a/security-admin/src/main/webapp/scripts/utils/XAEnums.js b/security-admin/src/main/webapp/scripts/utils/XAEnums.js
index d1edbcb..6407b68 100644
--- a/security-admin/src/main/webapp/scripts/utils/XAEnums.js
+++ b/security-admin/src/main/webapp/scripts/utils/XAEnums.js
@@ -33,8 +33,9 @@ define(function(require) {
};
XAEnums.AccessResult = mergeParams(XAEnums.AccessResult, {
- ACCESS_RESULT_DENIED:{value:0, label:'Denied', rbkey:'xa.enum.AccessResult.ACCESS_RESULT_DENIED', tt: 'lbl.AccessResult_ACCESS_RESULT_DENIED'},
- ACCESS_RESULT_ALLOWED:{value:1, label:'Allowed', rbkey:'xa.enum.AccessResult.ACCESS_RESULT_ALLOWED', tt: 'lbl.AccessResult_ACCESS_RESULT_ALLOWED'}
+ ACCESS_RESULT_DENIED:{value:0, label:'Denied', rbkey:'xa.enum.AccessResult.ACCESS_RESULT_DENIED', tt: 'lbl.AccessResult_ACCESS_RESULT_DENIED', auditFilterLabel:'DENIED'},
+ ACCESS_RESULT_ALLOWED:{value:1, label:'Allowed', rbkey:'xa.enum.AccessResult.ACCESS_RESULT_ALLOWED', tt: 'lbl.AccessResult_ACCESS_RESULT_ALLOWED', auditFilterLabel:'ALLOWED'},
+ ACCESS_RESULT_NOT_DETERMINED:{value:2, label:'Not Determined', rbkey:'xa.enum.AccessResult.ACCESS_RESULT_NOT_DETERMINED', tt: 'lbl.AccessResult_ACCESS_RESULT_NOT_DETERMINED', auditFilterLabel:'NOT_DETERMINED'}
});
XAEnums.UserSource = mergeParams(XAEnums.UserSource, {
diff --git a/security-admin/src/main/webapp/scripts/views/service/AuditFilterConfig.js b/security-admin/src/main/webapp/scripts/views/service/AuditFilterConfig.js
index 79dcd07..f5e01f2 100644
--- a/security-admin/src/main/webapp/scripts/views/service/AuditFilterConfig.js
+++ b/security-admin/src/main/webapp/scripts/views/service/AuditFilterConfig.js
@@ -6,9 +6,9 @@
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
@@ -22,7 +22,7 @@
*/
define(function(require) {
'use strict';
-
+
var Backbone = require('backbone');
var App = require('App');
var XAEnums = require('utils/XAEnums');
@@ -31,7 +31,7 @@ define(function(require) {
var ServiceAuditFilterResourcesForm = require('views/service/ServiceAuditFilterResources');
var RangerPolicyResource = require('models/RangerPolicyResource');
require('bootstrap-editable');
-
+
var AuditConfigItem = Backbone.Marionette.ItemView.extend({
_msvName : 'FormInputItem',
@@ -67,10 +67,10 @@ define(function(require) {
initialize : function(options) {
_.extend(this, _.pick(options,'rangerServiceDefModel', 'accessTypes', 'serviceName'));
},
-
+
onRender : function() {
var accessResultVal = _.map(XAEnums.AccessResult, function(m){
- return {'id' : m.label ,'text': m.label}
+ return {'id' : m.auditFilterLabel ,'text': m.auditFilterLabel}
})
if (this.model && !_.isUndefined(this.model.get('accessResult'))) {
this.ui.accessResult.val(this.model.get('accessResult'));
@@ -94,8 +94,8 @@ define(function(require) {
setupFormForEditMode : function () {
var that = this;
if(!this.model.isEmpty()) {
- if (this.model.get('isAudited')) {
- this.$el.find('[data-js="isAudited"]').val(this.model.get('isAudited'));
+ if (this.model && !_.isUndefined(this.model.get('isAudited'))) {
+ this.$el.find('[data-js="isAudited"]').val(this.model.get('isAudited') == true ? "Yes" : "No");
}
if (this.model.get('users')) {
this.ui.selectUsers.val(_.map(this.model.get('users'), function(name){ return _.escape(name)}));
@@ -119,9 +119,9 @@ define(function(require) {
evIsAudited : function (e) {
if(_.isUndefined(e)) {
- this.model.set('isAudited',this.$el.find('[data-js="isAudited"]').val());
+ this.model.set('isAudited',this.$el.find('[data-js="isAudited"]').val() == "Yes" ? true : false);
}else {
- this.model.set('isAudited', e.currentTarget.value);
+ this.model.set('isAudited', e.currentTarget.value == "Yes" ? true : false);
}
},
@@ -304,7 +304,7 @@ define(function(require) {
},
displayResources : function(tmpResource) {
- var $dataResources;
+ var $dataResources;
$dataResources = '<div class="resourceGrp"><div>'
_.filter(tmpResource, function(key, value) {
var $toggleBtn =''
@@ -347,20 +347,29 @@ define(function(require) {
placeholder : 'Select Action',
allowClear: true,
width : '200px',
- tokenSeparators: ["," , " "],
+ tokenSeparators: [","],
tags : [],
dropdownCssClass: 'select2-text-hidden',
initSelection : function (element, callback) {
callback(tags);
},
createSearchChoice : function(term, data) {
+ term = _.escape(term.trim());
if ($(data).filter(function() {
- return this.text.localeCompare(term)===0;
- }).length===0)
- {return {id:term, text:term};}
+ return this.text.localeCompare(term) === 0;
+ }).length === 0) {
+ if(term == ''){
+ return null;
+ }else{
+ return {
+ id : term,
+ text: term
+ };
+ }
+ }
},
})
- if (this.model.get('actions')) {
+ if (this.model && this.model.get('actions')) {
_.each(this.model.get('actions') , function(name){
tags.push( { 'id' : _.escape( name ), 'text' : _.escape( name ) } );
});
@@ -380,7 +389,7 @@ define(function(require) {
emptyAuditFilterCol : this.collection.length == 0 ? true : false,
}
},
-
+
getItemView : function(item){
if(!item){
return;
@@ -432,7 +441,7 @@ define(function(require) {
});
}
});
-
+
return AuditFilterList;
});
\ No newline at end of file
diff --git a/security-admin/src/main/webapp/scripts/views/service/ServiceForm.js b/security-admin/src/main/webapp/scripts/views/service/ServiceForm.js
index e7d5b79..668fa79 100644
--- a/security-admin/src/main/webapp/scripts/views/service/ServiceForm.js
+++ b/security-admin/src/main/webapp/scripts/views/service/ServiceForm.js
@@ -123,7 +123,7 @@ define(function(require){
},this);
if(auditFilterCollValue) {
- auditFilterCollValue = JSON.parse(auditFilterCollValue);
+ auditFilterCollValue = JSON.parse((auditFilterCollValue).replace(/'/g, '"'));
console.log(auditFilterCollValue);
auditFilterCollValue.forEach(function(model) {
that.auditFilterColl.add(new Backbone.Model(model));
@@ -216,7 +216,7 @@ define(function(require){
this.auditFilterColl.each(function (e) {
auditFiltter.push(e.attributes);
})
- config['ranger.plugin.audit.filters'] = JSON.stringify(auditFiltter);
+ config['ranger.plugin.audit.filters'] = (JSON.stringify(auditFiltter)).replace(/"/g, "'");
}
this.model.set('configs',config);
diff --git a/security-admin/src/main/webapp/styles/xa.css b/security-admin/src/main/webapp/styles/xa.css
index 5c11e14..ec57be1 100644
--- a/security-admin/src/main/webapp/styles/xa.css
+++ b/security-admin/src/main/webapp/styles/xa.css
@@ -4594,8 +4594,8 @@ input.textFiledInputPadding:disabled {
width: 75px
}
-.width-170 {
- width: 170px
+.width-195 {
+ width: 195px
}
.min-width-150 {
diff --git a/security-admin/src/main/webapp/templates/service/AuditFilterItem_tmpl.html b/security-admin/src/main/webapp/templates/service/AuditFilterItem_tmpl.html
index 0fc2ce7..ff5cfd2 100644
--- a/security-admin/src/main/webapp/templates/service/AuditFilterItem_tmpl.html
+++ b/security-admin/src/main/webapp/templates/service/AuditFilterItem_tmpl.html
@@ -1,4 +1,4 @@
-{{!--
+{{!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
@@ -19,34 +19,34 @@
<td class="">
<div class="width-75">
<select class="form-control custom-select-sm w-100" data-js="isAudited">
- <option selected value="true">Yes</option>
- <option value="false">No</option>
+ <option selected value="Yes">Yes</option>
+ <option value="No"false>No</option>
</select>
</div>
</td>
<!-- Access Result -->
<td class="">
- <div class="width-170">
+ <div class="width-195">
<input type="text" class="form-control custom-select-sm" data-js="accessResult">
</div>
</td>
<!-- Resources -->
-<td>
+<td>
<div class="resource-list min-width-150">
<div class="js-formInput"><div class="resourceGrp text-center">--</div></div>
<button type="button" class="btn btn-mini btn-primary" title="Add Resources" data-js="serviceResource" style="display: inline-block;">
<i class="fa-fw fa fa-plus"></i>
</button>
<a class="btn btn-danger btn-mini" data-action="deleteResources"><i class="fa-fw fa fa-remove"></i></a></div>
- </div>
+ </div>
</td>
<!-- Oparations -->
-<td>
+<td>
<input type="text" data-js="oparations" data-type="roles"/>
</td>
<!-- Actions -->
-<td>
+<td>
<a href="javascript:;" data-js="permissions" data-type="checklist" data-title="Select permissions" title="add/edit permissions" ></a>
<button type="button" class="btn btn-sm add-permissions" title="Add" style="display: inline-block;">
<i class="fa-fw fa fa-plus"></i>
diff --git a/security-admin/src/main/webapp/templates/service/ServiceForm_tmpl.html b/security-admin/src/main/webapp/templates/service/ServiceForm_tmpl.html
index 2b2e9c0..8666bd3 100644
--- a/security-admin/src/main/webapp/templates/service/ServiceForm_tmpl.html
+++ b/security-admin/src/main/webapp/templates/service/ServiceForm_tmpl.html
@@ -39,7 +39,7 @@
<div class="controls">
<img src="images/loading.gif"
style="margin-left: 4%; margin-top: 1%;">
- </img>
+ </img>
</div>
</div>
</div>