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 <[email protected]>
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">

Reply via email to