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/04/19 13:58:53 UTC

[ranger] branch master updated: RANGER-3239 : Ranger : Add checkbox for default audit filters on Service Creation page.

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 a993cda  RANGER-3239 : Ranger : Add checkbox for default audit filters on Service Creation page.
a993cda is described below

commit a993cda1253422e06c31c9265def5d8d882cbb88
Author: Nitin Galave <ni...@apache.org>
AuthorDate: Wed Apr 14 12:25:24 2021 +0530

    RANGER-3239 : Ranger : Add checkbox for default audit filters on Service Creation page.
---
 .../scripts/views/service/AuditFilterConfig.js     |  7 ++++-
 .../webapp/scripts/views/service/ServiceForm.js    | 35 ++++++++++++++++++++--
 .../webapp/templates/service/ServiceForm_tmpl.html |  5 ++++
 3 files changed, 44 insertions(+), 3 deletions(-)

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 a190275..2032da1 100644
--- a/security-admin/src/main/webapp/scripts/views/service/AuditFilterConfig.js
+++ b/security-admin/src/main/webapp/scripts/views/service/AuditFilterConfig.js
@@ -410,7 +410,9 @@ define(function(require) {
             this.collection.remove(this.model);
             if (this.collection.length == 0) {
                 var $data = '<tr><td class="emptySet text-muted" colspan="9">No Audit Filter Data Found !!</td></tr>'
-                $(".auditFilterData").html($data)
+                $(".auditFilterData").html($data);
+                $('input[data-id="renderAuditFilter"]').prop('checked', false);
+                $('input[data-id="renderAuditFilter"]').trigger('change')
             }
         },
         selectOparations : function() {
@@ -496,6 +498,9 @@ define(function(require) {
         addNew : function(){
             var that =this;
             this.$el.find('.emptySet').remove();
+            if (!$('input[data-id="renderAuditFilter"]').is(":checked")) {
+                $('input[data-id="renderAuditFilter"]').prop('checked', true);
+            }
             this.$('table').show();
             this.collection.add(new Backbone.Model());
         },
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 41872af..17d1f1d 100644
--- a/security-admin/src/main/webapp/scripts/views/service/ServiceForm.js
+++ b/security-admin/src/main/webapp/scripts/views/service/ServiceForm.js
@@ -59,6 +59,13 @@ define(function(require){
 				serviceConfig : serviceConfig.slice(0,-1)
 			};
 		},
+		ui : {
+			renderAuditFilter : '[data-id="renderAuditFilter"]',
+		},
+		events : {
+			'change [data-id="renderAuditFilter"]'  : 'renderAuditFilter',
+		},
+
 		initialize: function(options) {
 			console.log("initialized a ServiceForm Form View");
 			_.extend(this, _.pick(options, 'rangerServiceDefModel'));
@@ -75,6 +82,9 @@ define(function(require){
 			this.on('isEnabled:change', function(form, fieldEditor){
 				this.evIsEnabledChange(form, fieldEditor);
 			});
+			// this.on('change [data-id="renderAuditFilter"]', function(){
+			// 	this.renderAuditFilter();
+			// })
 		},
 
 		/** schema for the form
@@ -101,11 +111,11 @@ define(function(require){
 			this.initializePlugins();
 			this.renderCustomFields();
 			this.renderAuditFilterFields();
+			this.renderAuditFilter();
 		},
 		setupFormForEditMode : function() {
 			var that = this;
 			if(!this.model.isNew()){
-
 				if(this.model.get('configs')['ranger.plugin.audit.filters']) {
 					var auditFilterCollValue = this.model.get('configs')['ranger.plugin.audit.filters'];
 					delete this.model.get('configs')['ranger.plugin.audit.filters']
@@ -131,7 +141,6 @@ define(function(require){
 
 				if(auditFilterCollValue) {
 					auditFilterCollValue = JSON.parse((auditFilterCollValue).replace(/'/g, '"'));
-					console.log(auditFilterCollValue);
 					auditFilterCollValue.forEach(function(model) {
 						that.auditFilterColl.add(new Backbone.Model(model));
 					})
@@ -185,6 +194,28 @@ define(function(require){
 			}).render().el);
 		},
 
+		renderAuditFilter : function(e) {
+			var that = this;
+			if (_.isUndefined(e)) {
+				if(this.auditFilterColl.length > 0) {
+					this.$el.find('input[data-id="renderAuditFilter"]').prop('checked', true);
+				}
+			} else {
+				if ($(e.currentTarget).is(":checked")) {
+					if (!_.isUndefined(this.newauditFilterColl) && this.newauditFilterColl.length > 0) {
+						this.$el.find('.emptySet').remove();
+						this.newauditFilterColl.forEach(function(model){
+							that.auditFilterColl.add(model);
+						})
+					}
+				} else {
+					this.newauditFilterColl= this.auditFilterColl.clone();
+					this.auditFilterColl.reset()
+					this.renderAuditFilterFields()
+				}
+			}
+		},
+
 		/** all post render plugin initialization */
 		initializePlugins: function(){
 		},
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 8666bd3..9601428 100644
--- a/security-admin/src/main/webapp/templates/service/ServiceForm_tmpl.html
+++ b/security-admin/src/main/webapp/templates/service/ServiceForm_tmpl.html
@@ -33,6 +33,11 @@
     <fieldset class="configProp">
         <p class="formHeader">
             Audit Filter :
+            <input type="checkbox" data-id="renderAuditFilter">
+           <!--  <label class="toggle-control">
+                <input type="checkbox" data-id="renderAuditFilter">
+                <span class="control"></span>
+            </label> -->
         </p>
         <div data-customfields="aduitFilterConfig">
             <div class="form-group">