http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/018644b9/security-admin/src/main/webapp/scripts/views/common/XATableLayout.js
----------------------------------------------------------------------
diff --git 
a/security-admin/src/main/webapp/scripts/views/common/XATableLayout.js 
b/security-admin/src/main/webapp/scripts/views/common/XATableLayout.js
index 12bd6d7..ae81b86 100644
--- a/security-admin/src/main/webapp/scripts/views/common/XATableLayout.js
+++ b/security-admin/src/main/webapp/scripts/views/common/XATableLayout.js
@@ -48,7 +48,7 @@ define(function(require){
                        'rPagination'   : 'div[data-id="r_pagination"]'
                },
 
-       // /** ui selector cache */
+       /** ui selector cache */
        ui: {},
 
                gridOpts : {
@@ -122,11 +122,9 @@ define(function(require){
                        this.listenTo(this.collection, "sync reset", 
this.showHidePager);
                        
             this.listenTo(this.collection, 'request', function(){
-//                             $(this.rTableSpinner.el).addClass('loading');
                                
this.$el.find(this.rTableSpinner.el).addClass('loading');
                        },this);
             this.listenTo(this.collection, 'sync error', function(){
-//                             $(this.rTableSpinner.el).removeClass('loading');
                                
this.$el.find(this.rTableSpinner.el).removeClass('loading');
                        },this);
                },
@@ -158,11 +156,6 @@ define(function(require){
                renderTable : function(){
                        var that = this;
                        this.rTableList.show(new Backgrid.Grid(this.gridOpts));
-
-                       /*this.rTableSpinner.show(new Spinner({
-                               collection: this.collection
-                       }));*/
-
                },
                renderPagination : function(){
                        this.rPagination.show(new Backgrid.Extension.Paginator({
@@ -175,7 +168,6 @@ define(function(require){
                showHidePager : function(){
                        if(this.collection.state && 
this.collection.state.totalRecords > XAGlobals.settings.PAGE_SIZE)  {
                                this.$el.find(this.rPagination.el).show()
-                               //$(this.rPagination.el).show();
                        } else {
                                this.$el.find(this.rPagination.el).hide();
                        }

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/018644b9/security-admin/src/main/webapp/scripts/views/folders/FolderInfo.js
----------------------------------------------------------------------
diff --git a/security-admin/src/main/webapp/scripts/views/folders/FolderInfo.js 
b/security-admin/src/main/webapp/scripts/views/folders/FolderInfo.js
deleted file mode 100644
index 18ef7e2..0000000
--- a/security-admin/src/main/webapp/scripts/views/folders/FolderInfo.js
+++ /dev/null
@@ -1,173 +0,0 @@
-/*
- * 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.  The ASF licenses this file
- * 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
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
- 
-define(function(require){
-    'use strict';
-
-       var Backbone            = require('backbone');
-       var Communicator        = require('communicator');
-       
-       var XAUtil                      = require('utils/XAUtils');
-       var XAEnums                     = require('utils/XAEnums');
-       var VXPermMapList       = require('collections/VXPermMapList');
-       var FolderInfo_tmpl = require('hbs!tmpl/folders/FolderInfo_tmpl');
-       var KnoxInfo_tmpl = require('hbs!tmpl/knox/KnoxInfo_tmpl');
-
-       var FolderInfo = Backbone.Marionette.ItemView.extend(
-       /** @lends FolderInfo */
-       {
-               _viewName : FolderInfo,
-               
-       template: FolderInfo_tmpl,
-        templateHelpers :function(){
-               
-               var hiveModel = this.model.get('assetType') == 
XAEnums.AssetType.ASSET_HIVE.value ? true : false;
-               var hbaseModel = this.model.get('assetType') == 
XAEnums.AssetType.ASSET_HBASE.value ? true : false;
-               var hiveOrHbaseModel = hiveModel || hbaseModel;
-               return {
-                       groupPermListArr: this.getGroupPermListArr(),
-                       userPermListArr : this.getUserPermListArr(),
-                               hdfsModel               : 
this.model.get('assetType') == XAEnums.AssetType.ASSET_HDFS.value ? true : 
false,
-                       hiveOrHbaseModel: hiveOrHbaseModel,
-                       
-               };
-        },
-       /** ui selector cache */
-       ui: {},
-
-               /** ui events hash */
-               events: function() {
-                       var events = {};
-                       //events['change ' + this.ui.input]  = 'onInputChange';
-                       return events;
-               },
-
-       /**
-               * intialize a new FolderInfo ItemView 
-               * @constructs
-               */
-               initialize: function(options) {
-                       console.log("initialized a FolderInfo ItemView");
-
-                       _.extend(this, _.pick(options, ''));
-                       //this.model.set('permMapList',new 
VXPermMapList(this.model.attributes.permMapList))
-                       this.bindEvents();
-                       this.getTemplateForView();
-               },
-
-               /** all events binding here */
-               bindEvents : function(){
-                       /*this.listenTo(this.model, "change:foo", 
this.modelChanged, this);*/
-                       /*this.listenTo(communicator.vent,'someView:someEvent', 
this.someEventHandler, this)'*/
-               },
-
-               /** on render callback */
-               onRender: function() {
-                       this.initializePlugins();
-               },
-
-               /** all post render plugin initialization */
-               initializePlugins: function(){
-               },
-               getTemplateForView : function(){
-                       if(this.model.get('assetType') == 
XAEnums.AssetType.ASSET_KNOX.value){
-                               this.template = KnoxInfo_tmpl;
-                       }
-               },
-               getGroupPermListArr : function(){
-                       var groupList = [];
-                       var perm=[],permListArr =[];
-                       if(!_.isUndefined(this.model.attributes.permMapList)){
-                               
if(_.isArray(this.model.attributes.permMapList)){
-                                       groupList = new 
VXPermMapList(this.model.attributes.permMapList);
-                                       groupList =  
groupList.groupBy('groupId');
-                               }else{
-                                       groupList =  
this.model.attributes.permMapList.groupBy('groupId');
-                               }
-                               
-                               _.each(groupList,function(val,prop){
-                                       var groups = groupList[prop];
-                                       var permTypeArr =[],name 
='',ipAddressArr =[];
-                                       groups = _.sortBy(groups, function (m) 
{return m.get('permType');});
-                                       _.each(groups,function(gprop){
-                                               var permVal = 
_.pick(gprop.attributes,'permType').permType;
-                                               var label = 
XAUtil.enumValueToLabel(XAEnums.XAPermType,permVal);
-                                               permTypeArr.push(label);
-                                               name = 
_.pick(gprop.attributes,'groupName').groupName;
-                                               
if(!_.isUndefined(gprop.get('ipAddress')))
-                                                       
ipAddressArr.push(gprop.get('ipAddress'))
-                                                               
-                                       });
-                                       if(name != undefined){
-                                               var ipAddress = 
_.uniq(ipAddressArr).toString();
-                                               permListArr.push({
-                                                       name :name,
-                                                       permType 
:permTypeArr.toString(),
-                                                       ipAddress 
:_.isEmpty(ipAddress) ? "--" : ipAddress
-                                               });
-                                       }
-                                       
-                               });
-                       }
-               return permListArr;
-            },
-            getUserPermListArr : function(){
-               var userList = [];
-               var perm=[],permListArr =[];
-               if(!_.isUndefined(this.model.attributes.permMapList)){
-                        if(_.isArray(this.model.attributes.permMapList)){
-                                userList = new 
VXPermMapList(this.model.attributes.permMapList);
-                                userList =  userList.groupBy('userId');
-                        }else{
-                                userList =  
this.model.attributes.permMapList.groupBy('userId');
-                        }
-                        //var userList =  
this.model.attributes.permMapList.groupBy('userId');
-                        _.each(userList,function(val,prop){
-                                var users = userList[prop];
-                                users = _.sortBy(users, function (m) {return 
m.get('permType');});
-                                var permTypeArr =[],name ='', ipAddressArr =[];
-                                _.each(users,function(gprop){
-                                        var permVal = 
_.pick(gprop.attributes,'permType').permType;
-                                        var label = 
XAUtil.enumValueToLabel(XAEnums.XAPermType,permVal);
-                                        permTypeArr.push(label);
-                                        name = 
_.pick(gprop.attributes,'userName').userName;
-                                        
if(!_.isUndefined(gprop.get('ipAddress')))
-                                                       
ipAddressArr.push(gprop.get('ipAddress'))
-                                });
-                                if(name != undefined){
-                                        var ipAddress = 
_.uniq(ipAddressArr).toString();                                        
-                                        permListArr.push({ name :name,
-                                                permType 
:permTypeArr.toString(),
-                                                ipAddress 
:_.isEmpty(ipAddress) ? "--" : ipAddress
-                                        });
-                                }
-                                
-                        });
-                }      
-               return permListArr;
-                    },
-               /** on close */
-               onClose: function(){
-               }
-
-       });
-
-       return FolderInfo;
-});

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/018644b9/security-admin/src/main/webapp/scripts/views/kms/KMSTableLayout.js
----------------------------------------------------------------------
diff --git a/security-admin/src/main/webapp/scripts/views/kms/KMSTableLayout.js 
b/security-admin/src/main/webapp/scripts/views/kms/KMSTableLayout.js
index 52990dd..0a24bc1 100755
--- a/security-admin/src/main/webapp/scripts/views/kms/KMSTableLayout.js
+++ b/security-admin/src/main/webapp/scripts/views/kms/KMSTableLayout.js
@@ -40,7 +40,6 @@ define(function(require){
                
        template: KmsTablelayoutTmpl,
        templateHelpers : function(){
-//             return { kmsServiceName : this.kmsServiceName };
        },
        breadCrumbs :[XALinks.get('KmsManage')],
                /** Layout sub regions */
@@ -78,10 +77,8 @@ define(function(require){
                        this.showKeyList = true;
                        this.isKnownKmsServicePage =  this.kmsManagePage == 
'new' ? false : true;
                        this.initializeKMSServices();
-                       if(this.isKnownKmsServicePage){
-                               this.getKeysForKmsService();    
-                       }
                        this.bindEvents();
+                       this.defaultsCollstate = this.collection.state
                },
 
                /** all events binding here */
@@ -99,16 +96,19 @@ define(function(require){
                        });
                },
                getKeysForKmsService : function() {
+                       var that = this;
                        this.collection.queryParams['provider'] = 
this.kmsServiceName;
                        this.collection.fetch({
                                cache : false,
                                reset :true,
-                               error : function(model,resp){
+                               error : function(collection,resp){
                                        var errorMsg = 'Error getting key 
list!!';
                                        if(!_.isUndefined(resp) && 
!_.isUndefined(resp.responseJSON) && !_.isUndefined(resp.responseJSON.msgDesc)){
                                                errorMsg = 
resp.responseJSON.msgDesc;
                                        }
                                        XAUtil.notifyError('Error', errorMsg);
+                                       collection.state = 
that.defaultsCollstate;
+                                       collection.reset();
                                }
                        });
                },
@@ -128,13 +128,19 @@ define(function(require){
                        }
                        this.setupKmsServiceAutoComplete();
                        this.addVisualSearch();
+                       //Showing pagination even if No Key found
+                       if(!this.isKnownKmsServicePage){
+                               this.collection.reset();
+                       }
+                       if(this.isKnownKmsServicePage){
+                                this.getKeysForKmsService();
+                        }
                },
                onTabChange : function(e){
                        var that = this;
                        this.showKeyList = $(e.currentTarget).attr('href') == 
'#keys' ? true : false;
                        if(this.showKeyList){                           
                                this.renderKeyTab();
-//                             this.addVisualSearch();
                        }
                },
                renderKeyTab : function(){
@@ -152,19 +158,16 @@ define(function(require){
                                        emptyText : 'No Key found!'
                                }
                        }));    
-
                },
 
                getColumns : function(){
                        var that = this;
                        var cols = {
-                               
                                name : {
                                        label   : 
localization.tt("lbl.keyName"),
                                        cell :'string',
                                        editable:false,
                                        sortable:false,
-                                                                               
        
                                },
                                cipher : {
                                        label   : localization.tt("lbl.cipher"),
@@ -206,12 +209,10 @@ define(function(require){
                                        drag : false,
                                        editable:false,
                                        sortable:false,
-//                    sortType: 'toggle',
-//                    direction: 'descending',
                                        formatter: _.extend({}, 
Backgrid.CellFormatter.prototype, {
                                                fromRaw: function (rawValue, 
model) {
                                                        
if(!_.isUndefined(rawValue))
-                                                       return 
Globalize.format(new Date(rawValue),  "MM/dd/yyyy hh:mm:ss tt");
+                                                               return 
Globalize.format(new Date(rawValue),  "MM/dd/yyyy hh:mm:ss tt");
                                                }
                                        })
                                },
@@ -227,7 +228,6 @@ define(function(require){
                                                }),
                                                editable: false,
                                                sortable : false
-
                                }
                                
                        };
@@ -252,7 +252,6 @@ define(function(require){
                                          valueMatches :function(facet, 
searchTerm, callback) {
                                                                switch (facet) {
                                                                }     
-                                       
                                                        }
                                      }
                                };
@@ -263,6 +262,7 @@ define(function(require){
                },
                setupKmsServiceAutoComplete : function(serviceName){
                        var that = this, arr = [];
+                       
                        this.ui.selectServiceName.select2({
                                maximumSelectionSize : 1,
                                closeOnSelect : true,
@@ -275,13 +275,13 @@ define(function(require){
                                        url: "service/plugins/services",
                                        dataType: 'json',
                                        data: function (term, page) {
-                                               return {name : term, 
'serviceType' : 'kms'};
+                                               return { name : term, 
'serviceType' : 'kms' };
                                        },
                                        results: function (data, page) { 
                                                var results = [],selectedVals = 
[];
                                                if(data.resultSize != "0"){
                                                        results = 
data.services.map(function(m, i){     return {id : m.name, text: m.name};     
});
-                                                       return {results : 
results};
+                                                       return { results : 
results };
                                                }
                                                return { results : results };
                                        }
@@ -296,7 +296,7 @@ define(function(require){
                                        return 'No service found.';
                                }
                        })
-                       .on('select2-focus', XAUtil.select2Focus)
+                       //.on('select2-focus', XAUtil.select2Focus)
                        .on('change',function(e) {
                                that.kmsServiceName = (e.currentTarget.value)
                                that.ui.addNewKey.attr('disabled',false);
@@ -311,12 +311,12 @@ define(function(require){
                        var obj = 
this.collection.get($(e.currentTarget).data('id'));
                        var model = new KmsKey(obj.attributes);
                        model.collection = this.collection;
-                       var url = 
model.urlRoot+"/"+model.get('name')+"?provider="+ this.kmsServiceName;
+                       var url = model.urlRoot +"/"+model.get('name') 
+"?provider="+ this.kmsServiceName;
+                       
                        XAUtil.confirmPopup({
                                msg :'Are you sure want to delete ?',
                                callback : function(){
                                        XAUtil.blockUI();
-                                       
                                        model.destroy({
                                                'url' : url,
                                                'success': function(model, 
response) {
@@ -343,7 +343,7 @@ define(function(require){
                        var obj = 
this.collection.get($(e.currentTarget).data('id'));
                        var model = new KmsKey({ 'name' : obj.attributes.name 
});
                        model.collection = this.collection;
-                        var url = model.urlRoot+"?provider="+ 
this.kmsServiceName;
+                       var url = model.urlRoot + "?provider=" + 
this.kmsServiceName;
                        XAUtil.confirmPopup({
                                msg :'Are you sure want to rollover ?',
                                callback : function(){
@@ -363,7 +363,7 @@ define(function(require){
                             var errorMsg = 'Error rollovering key!';
                             XAUtil.blockUI('unblock');
                             if(!_.isUndefined(resp) && 
!_.isUndefined(resp.responseJSON) && !_.isUndefined(resp.responseJSON.msgDesc)){
-                                    errorMsg = resp.responseJSON.msgDesc;
+                               errorMsg = resp.responseJSON.msgDesc;
                             }
                             XAUtil.notifyError('Error', errorMsg);
                                                }
@@ -379,4 +379,4 @@ define(function(require){
        });
 
        return KmsTableLayout; 
-});
\ No newline at end of file
+});

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/018644b9/security-admin/src/main/webapp/scripts/views/kms/KmsKeyCreate.js
----------------------------------------------------------------------
diff --git a/security-admin/src/main/webapp/scripts/views/kms/KmsKeyCreate.js 
b/security-admin/src/main/webapp/scripts/views/kms/KmsKeyCreate.js
index 0bc62b6..38cb03f 100644
--- a/security-admin/src/main/webapp/scripts/views/kms/KmsKeyCreate.js
+++ b/security-admin/src/main/webapp/scripts/views/kms/KmsKeyCreate.js
@@ -34,7 +34,6 @@ define(function(require){
        
        var KmsKeyCreateTmpl= require('hbs!tmpl/kms/KmsKeyCreate_tmpl');
        var RKmsKeyForm         = require('views/kms/KmsKeyForm');
-//     var RangerServiceDef    = require('models/RangerServiceDef');
 
        var KmsKeyCreate = Backbone.Marionette.Layout.extend(
        /** @lends KmsKeyCreate */
@@ -49,8 +48,9 @@ define(function(require){
        },
        breadCrumbs :function(){
                var opts = { 'kmsService' : this.kmsService, 
'kmsServiceDefModel' : this.kmsServiceDefModel }
-               if(this.model.isNew())
+               if(this.model.isNew()){
                        return [XALinks.get('KmsManage',opts), 
XALinks.get('KmsServiceForKey', opts), XALinks.get('KmsKeyCreate')];
+               }
        } ,        
 
                /** Layout sub regions */
@@ -110,9 +110,7 @@ define(function(require){
                onSave: function(){
                        var that =this ;
                        var errors = this.form.commit({validate : false});
-                       if(! _.isEmpty(errors)){
-                               return;
-                       }
+                       if(! _.isEmpty(errors)) return;
                        var options = {
                                url : this.model.urlRoot+"?provider="+ 
this.kmsServiceName,
                                success: function () {
@@ -125,12 +123,14 @@ define(function(require){
                                error : function (model, resp, options) {
                                        XAUtil.blockUI('unblock');
                                        var errorMsg = 'Error creating Key!';
-                                       if(!_.isUndefined(resp) && 
!_.isUndefined(resp.responseJSON) && !_.isUndefined(resp.responseJSON.msgDesc)){
+                                       if(!_.isUndefined(resp) && 
!_.isUndefined(resp.responseJSON) 
+                                                       && 
!_.isUndefined(resp.responseJSON.msgDesc)){
                                                errorMsg = 
resp.responseJSON.msgDesc;
                                        }
                                        XAUtil.notifyError('Error', errorMsg);
                                }
                        }
+                       
                        //to check model is new or not
                        options.type = (this.model.has('versions')) ? 'PUT'  : 
'POST';
                        this.form.beforeSave();
@@ -145,7 +145,6 @@ define(function(require){
                        var that = this;
                        var url = this.model.urlRoot+"?provider="+ 
this.kmsServiceName;
                        XAUtil.confirmPopup({
-                               //msg :localize.tt('msg.confirmDelete'),
                                msg :'Are you sure want to delete ?',
                                callback : function(){
                                        XAUtil.blockUI();

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/018644b9/security-admin/src/main/webapp/scripts/views/permissions/ModulePermissionCreate.js
----------------------------------------------------------------------
diff --git 
a/security-admin/src/main/webapp/scripts/views/permissions/ModulePermissionCreate.js
 
b/security-admin/src/main/webapp/scripts/views/permissions/ModulePermissionCreate.js
index 3e03d80..02b879d 100644
--- 
a/security-admin/src/main/webapp/scripts/views/permissions/ModulePermissionCreate.js
+++ 
b/security-admin/src/main/webapp/scripts/views/permissions/ModulePermissionCreate.js
@@ -38,25 +38,23 @@ define(function(require){
        {
                _viewName : 'ModulePermissionCreate',
 
-       template: ModulePermissionCreateTmpl,
-       breadCrumbs :function(){
-               if(this.model.isNew())
-                       return [XALinks.get('ModulePermissions')];
-               else
-                       return 
[XALinks.get('ModulePermissions'),XALinks.get('ModulePermissionEdit',this.model)];
-       },
-
-               /** Layout sub regions */
-       regions: {
-               'rForm' :'div[data-id="r_form"]'
-       },
-
-       /** ui selector cache */
-       ui: {
-               'tab'           : '.nav-tabs',
-               'btnSave'       : '[data-id="save"]',
-               'btnCancel' : '[data-id="cancel"]'
-       },
+               template: ModulePermissionCreateTmpl,
+               breadCrumbs :function(){
+                       return this.model.isNew() ? 
[XALinks.get('ModulePermissions')] 
+                                       : 
[XALinks.get('ModulePermissions'),XALinks.get('ModulePermissionEdit',this.model)];
+               },
+               
+                       /** Layout sub regions */
+               regions: {
+                       'rForm' :'div[data-id="r_form"]'
+               },
+               
+               /** ui selector cache */
+               ui: {
+                       'tab'           : '.nav-tabs',
+                       'btnSave'       : '[data-id="save"]',
+                       'btnCancel' : '[data-id="cancel"]'
+               },
 
                /** ui events hash */
                events: function() {
@@ -94,34 +92,33 @@ define(function(require){
                initializePlugins: function(){
                },
                renderForm : function(){
-                          var VXGroupList              = 
require('collections/VXGroupList');
-                          var VXUserList               = 
require('collections/VXUserList');
-                          var params = {sortBy : 'name'};
-                          this.userList = new VXUserList();
-                          this.userList.setPageSize(100,{fetch:true});
-                          this.userList.fetch({
-                                       cache :false,
-                                       data: params,
-                                       async : false
-                          });
-                          this.groupList = new VXGroupList();
-                          this.groupList.setPageSize(100,{fetch:true});
-                          this.groupList.fetch({
-                                  cache :false,
-                                  data : params,
-                                  async : false
-                          });
-                       var that = this;
-                       this.form = new ModulePermissionForm({
-                               template  : 
require('hbs!tmpl/permissions/ModulePermissionForm_tmpl'),
-                               model     : that.model,
-                               groupList : that.groupList,
-                               userList  : that.userList
-                       });
-                       this.rForm.show(this.form);
+                       var VXGroupList         = 
require('collections/VXGroupList');
+                       var VXUserList          = 
require('collections/VXUserList');
+                   var params = {sortBy : 'name'};
+                   this.userList = new VXUserList();
+                   this.userList.setPageSize(100,{fetch:true});
+                   this.userList.fetch({
+                       cache :false,
+                               data: params,
+                               async : false
+                  });
+                  this.groupList = new VXGroupList();
+                  this.groupList.setPageSize(100,{fetch:true});
+                  this.groupList.fetch({
+                          cache :false,
+                          data : params,
+                          async : false
+                  });
+                  var that = this;
+                  this.form = new ModulePermissionForm({
+                          template  : 
require('hbs!tmpl/permissions/ModulePermissionForm_tmpl'),
+                          model          : that.model,
+                          groupList : that.groupList,
+                          userList  : that.userList
+                  });
+                  this.rForm.show(this.form);
                },
                onSave: function(){
-
                        var errors = this.form.commit({validate : false});
                        if(! _.isEmpty(errors)){
                                this.form.beforeSaveModulePermissions();
@@ -142,14 +139,14 @@ define(function(require){
                                        var msg = that.editMode ? 'Module 
Permissions updated successfully' :'Module Permissions created successfully';
                                        XAUtil.notifySuccess('Success', msg);
                                        
App.appRouter.navigate("#!/permissions",{trigger: true});
-                               }   ,
+                               },
                                error : function(model,resp){
                                        XAUtil.blockUI('unblock');
                                        if(!_.isUndefined(resp.responseJSON) && 
!_.isUndefined(resp.responseJSON.msgDesc)){
                                                
XAUtil.notifyError('Error',resp.responseJSON.msgDesc);
-                                       }else
+                                       } else {
                                                XAUtil.notifyError('Error', 
"Error occurred while creating/updating module permissions.");
-
+                                       }
                                }
                        });
                },

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/018644b9/security-admin/src/main/webapp/scripts/views/permissions/ModulePermissionForm.js
----------------------------------------------------------------------
diff --git 
a/security-admin/src/main/webapp/scripts/views/permissions/ModulePermissionForm.js
 
b/security-admin/src/main/webapp/scripts/views/permissions/ModulePermissionForm.js
index 497a4a2..e311f1e 100644
--- 
a/security-admin/src/main/webapp/scripts/views/permissions/ModulePermissionForm.js
+++ 
b/security-admin/src/main/webapp/scripts/views/permissions/ModulePermissionForm.js
@@ -46,9 +46,6 @@ define(function(require) {
                _viewName : 'ModulePermissionForm',
                template : 
require('hbs!tmpl/permissions/ModulePermissionForm_tmpl'),
                templateHelpers :function(){
-                       return {
-
-                       };
                },
                templateData : function(){
                        return { 'id' : this.model.id, 'permHeaders' : 
this.getPermHeaders() };
@@ -59,7 +56,6 @@ define(function(require) {
                                this.setupFieldsforEditModule();
                        }
                        Backbone.Form.prototype.initialize.call(this, options);
-
                },
                ui : {
                        /*selectGroups  : 'div[data-fields="selectGroups"]',
@@ -99,17 +95,12 @@ define(function(require) {
                                        editorAttrs  : 
{'checked':'checked',disabled:true},
                                        title : 'Is Allowed ?'
                                        },
-
                        }
                },
                render: function(options) {
                        var that = this;
-
                        Backbone.Form.prototype.render.call(this, options);
-                       if(!this.model.isNew()){
-                               //this.setUpSwitches();
-                       }
-
+                       
                },
                setupFieldsforEditModule : function(){
                        var groupsNVList=[],usersNVList =[];
@@ -135,19 +126,18 @@ define(function(require) {
                getPlugginAttr :function(autocomplete, options){
                        var that = this;
                        if(!autocomplete)
-                               return{tags : true,width :'220px',multiple: 
true,minimumInputLength: 1};
+                               return{ tags : true, width :'220px', multiple: 
true, minimumInputLength: 1 };
                        else {
                                return {
                                        closeOnSelect : true,
                                        multiple: true,
                                        minimumInputLength: 0,
                                        tokenSeparators: [",", " "],
-                                       /*tags : modelDefaultTags,*/
                                        initSelection : function (element, 
callback) {
                                                var data = [];
                                                
_.each(options.permList,function (elem) {
-                                                               data.push({id: 
elem[options.idKey], text: elem[options.textKey]});
-                                                       });
+                                                       data.push({id: 
elem[options.idKey], text: elem[options.textKey]});
+                                               });
                                                callback(data);
                                        },
                                        createSearchChoice: function(term, 
data) {
@@ -170,16 +160,16 @@ define(function(require) {
                                                cache: false,
                                                data: function (term, page) {
                                                        //To be checked
-                                                       return {name : term, 
isVisible : XAEnums.VisibilityStatus.STATUS_VISIBLE.value};
-//                                                     return {loginId : term};
+                                                       return { name : term, 
isVisible : XAEnums.VisibilityStatus.STATUS_VISIBLE.value };
                                                },
                                                results: function (data, page) {
                                                        var results = [];
                                                        if(data.resultSize != 
"0"){
-                                                               
if(!_.isUndefined(data.vXGroups))
+                                                               
if(!_.isUndefined(data.vXGroups)){
                                                                        results 
= data.vXGroups.map(function(m, i){     return {id : m.id+"", text: m.name};    
});
-                                                               else 
if(!_.isUndefined(data.vXUsers))
+                                                               } else 
if(!_.isUndefined(data.vXUsers)){
                                                                        results 
= data.vXUsers.map(function(m, i){      return {id : m.id+"", text: m.name};    
});
+                                                               }
                                                        }
                                                        return { results : 
results};
                                                },
@@ -199,12 +189,7 @@ define(function(require) {
                                                return result.text;
                                        },
                                        formatNoMatches : function(term){
-                                               switch (term){
-                                                       //case  
that.type.DATABASE :return localization.tt("msg.enterAlteastOneCharactere");
-                                                       //case  that.type.TABLE 
:return localization.tt("msg.enterAlteastOneCharactere");
-                                                       //case  
that.type.COLUMN :return localization.tt("msg.enterAlteastOneCharactere");
-                                                       default : return "No 
Matches found";
-                                               }
+                                               return "No Matches found";
                                        }
                                };
                        }
@@ -223,19 +208,18 @@ define(function(require) {
                        var selectedVals = (!_.isNull(objValsStr)) ? 
objValsStr.toString().split(',') : [];
                        var selectedIdList=[];
                        selectedVals = _.each(selectedVals, function(eachVal){
-                                                               //Ignoring any 
non existing Group Name
-                                                               
if(_.isNumber(parseInt(eachVal))  && !_.isNaN(parseInt(eachVal))){
-                                                                       
selectedIdList.push(Number(eachVal));
-                                                               }
-                                                       });
+                               //Ignoring any non existing Group Name
+                               if(_.isNumber(parseInt(eachVal))  && 
!_.isNaN(parseInt(eachVal))){
+                                       selectedIdList.push(Number(eachVal));
+                               }
+                       });
                        var modelPermList = options.permList;
                        var modelPerms = _.unique(_.pluck(options.permList, 
options.idKey));
                        if(!_.isEmpty(selectedIdList)){
                                //Look for equals
                                if(_.isEqual(selectedIdList,modelPerms)) {
                                        //No changes in Selected Users
-                               }else{
-
+                               } else {
                                        //look for new values -
                                        //loop through each new element and 
check if it has any non matching ids
                                        var diff = _.filter(selectedIdList, 
function(value){ return !_.contains(modelPerms, value); });
@@ -261,7 +245,7 @@ define(function(require) {
                                        }
                                }
 
-                       }else{
+                       } else {
                                //Remove permissions from all objects which 
earlier had permission
                                _.each(options.permList, function(perm){
                                        perm.isAllowed = 0;
@@ -270,5 +254,6 @@ define(function(require) {
 
                }
        });
+       
        return ModulePermissionForm;
 });

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/018644b9/security-admin/src/main/webapp/scripts/views/permissions/ModulePermsTableLayout.js
----------------------------------------------------------------------
diff --git 
a/security-admin/src/main/webapp/scripts/views/permissions/ModulePermsTableLayout.js
 
b/security-admin/src/main/webapp/scripts/views/permissions/ModulePermsTableLayout.js
index 18d7c4c..354992a 100644
--- 
a/security-admin/src/main/webapp/scripts/views/permissions/ModulePermsTableLayout.js
+++ 
b/security-admin/src/main/webapp/scripts/views/permissions/ModulePermsTableLayout.js
@@ -27,10 +27,10 @@ define(function(require){
        var XAGlobals           = require('utils/XAGlobals');
        var SessionMgr          = require('mgrs/SessionMgr');
        var XAUtil                      = require('utils/XAUtils');
+       var localization        = require('utils/XALangSupport');
 
        var XABackgrid          = require('views/common/XABackgrid');
        var XATableLayout       = require('views/common/XATableLayout');
-       var localization        = require('utils/XALangSupport');
        var RangerServiceDef    = require('models/RangerServiceDef');
        var UserPermission              = require('models/UserPermission');
        var ModulePermsTableLayoutTmpl = 
require('hbs!tmpl/permissions/ModulePermsTableLayout_tmpl');
@@ -44,25 +44,22 @@ define(function(require){
        {
                _viewName : 'ModulePermsTableLayout',
 
-       template: ModulePermsTableLayoutTmpl,
+               template: ModulePermsTableLayoutTmpl,
 
                templateHelpers : function(){
-                       return {
-                               //rangerService:this.rangerService
-                       };
                },
 
-       breadCrumbs : function(){
-               return [XALinks.get('ModulePermissions')];
+               breadCrumbs : function(){
+                       return [XALinks.get('ModulePermissions')];
                },
 
                /** Layout sub regions */
-       regions: {
+               regions: {
                        'rTableList'    : 'div[data-id="r_table"]',
                },
 
-       // /** ui selector cache */
-       ui: {
+               /** ui selector cache */
+               ui: {
                        'btnShowMore' : '[data-id="showMore"]',
                        'btnShowLess' : '[data-id="showLess"]',
                        'visualSearch' : '.visual_search'
@@ -77,13 +74,14 @@ define(function(require){
                        return events;
                },
 
-       /**
+               /**
                * intialize a new RangerPolicyTableLayout Layout
                * @constructs
                */
                initialize: function(options) {
                        console.log("initialized a ModulePermsTableLayout 
Layout");
-                       //_.extend(this, _.pick(options));
+                       
+                       _.extend(this, _.pick(options));
                        this.bindEvents();
                },
 
@@ -148,10 +146,9 @@ define(function(require){
                                        label : localization.tt("lbl.users"),
                                        formatter: _.extend({}, 
Backgrid.CellFormatter.prototype, {
                                                fromRaw: function (rawValue, 
model) {
-                                                       
if(!_.isUndefined(rawValue))
-                                                               return 
XAUtil.showGroupsOrUsers(rawValue, model, 'users');
-                                                       else
-                                                               return '--';
+                                                       return 
!_.isUndefined(rawValue) ? 
+                                                                       
XAUtil.showGroupsOrUsers(rawValue, model, 'users')
+                                                                       :  '--';
                                                }
                                        }),
                                        editable : false,
@@ -200,12 +197,8 @@ define(function(require){
                },
                addVisualSearch : function(){
                        var that = this;
-                       //var resourceSearchOpt = _.map(this.collection.models, 
function(resource){ return XAUtil.capitaliseFirstLetter(resource.module) });
-
                        var searchOpt = ['Module Name','Group Name','User 
Name'];
-
                        var serverAttrName  = [{text : "Module Name", label 
:"module"},{text : "Group Name", label :"groupName"},{text : "User Name", label 
:"userName"}];
-
                        var pluginAttr = {
                                      placeholder 
:localization.tt('h.searchForPermissions'),
                                      container : this.ui.visualSearch,
@@ -213,17 +206,7 @@ define(function(require){
                                      callbacks :  {
                                          valueMatches :function(facet, 
searchTerm, callback) {
                                                                switch (facet) {
-                                                                       /*case 
'Module Name':
-                                                                               
callback(that.getActiveStatusNVList());
-                                                                               
break;
-                                                                       case 
'Group Name':
-                                                                               
callback(XAUtil.enumToSelectLabelValuePairs(XAEnums.AuthType));
-                                                                               
break;
-                                                                       case 
'User Name' :
-                                                                               
setTimeout(function () { XAUtil.displayDatepicker(that.ui.visualSearch, 
callback); }, 0);
-                                                                               
break;*/
                                                                }
-
                                                        }
                                      }
                                };
@@ -234,6 +217,7 @@ define(function(require){
                                if(obj.label != 
XAEnums.ActiveStatus.STATUS_DELETED.label)
                                        return obj;
                        });
+                       
                        return _.map(activeStatusList, function(status) { 
return { 'label': status.label, 'value': status.label.toLowerCase()}; })
                },
                /** on close */

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/018644b9/security-admin/src/main/webapp/scripts/views/policies/PermissionList.js
----------------------------------------------------------------------
diff --git 
a/security-admin/src/main/webapp/scripts/views/policies/PermissionList.js 
b/security-admin/src/main/webapp/scripts/views/policies/PermissionList.js
index 42d27b1..ff72ced 100644
--- a/security-admin/src/main/webapp/scripts/views/policies/PermissionList.js
+++ b/security-admin/src/main/webapp/scripts/views/policies/PermissionList.js
@@ -33,11 +33,12 @@ define(function(require) {
        var VXGroup                     = require('models/VXGroup');
        var VXGroupList                 = require('collections/VXGroupList');
        var VXUserList                  = require('collections/VXUserList');
+       
        require('bootstrap-editable');
        require('esprima');
        
-       var FormInputItem = Backbone.Marionette.ItemView.extend({
-               _msvName : 'FormInputItem',
+       var PermissionItem = Backbone.Marionette.ItemView.extend({
+               _msvName : 'PermissionItem',
                template : require('hbs!tmpl/policies/PermissionItem'),
                tagName : 'tr',
                templateHelpers : function(){
@@ -85,16 +86,14 @@ define(function(require) {
                        //render permissions and policy conditions
                        if(this.rangerServiceDefModel.get('name') == 
XAEnums.ServiceType.SERVICE_TAG.label){
                                this.renderPermsForTagBasedPolicies()
-                       }else{
+                       } else {
                                this.renderPerms();
                        }
                        this.renderPolicyCondtion();
-                       //this.initializePlugins();
                },
                setupFormForEditMode : function() {
                        this.accessItems = _.map(this.accessTypes, 
function(perm){ 
-                               if(!_.isUndefined(perm)) 
-                                       return {'type':perm.name,isAllowed : 
false}
+                               if(!_.isUndefined(perm)) return 
{'type':perm.name, isAllowed : false}
                        });
                        if(this.model.has('editMode') && 
this.model.get('editMode')){
                                if(!_.isUndefined(this.model.get('groupName')) 
&& !_.isNull(this.model.get('groupName'))){
@@ -142,7 +141,6 @@ define(function(require) {
                dropDownChange : function($select){
                        var that = this;
                        $select.on('change',function(e){
-               //              console.log(e.currentTarget.value);
                                var name = ($(e.currentTarget).attr('data-js') 
== that.ui.selectGroups.attr('data-js')) ? 'group': 'user';
                                that.checkDirtyFieldForDropDown(e);
                                
@@ -152,7 +150,7 @@ define(function(require) {
                                                gNameArr = 
_.without(that.model.get(name+'Name').split(','), e.removed.text);
                                        if(!_.isEmpty(gNameArr)){
                                                
that.model.set(name+'Name',gNameArr.join(','));
-                                       }else{
+                                       } else {
                                                that.model.unset(name+'Name');
                                        }
                                        that.toggleAddButton(e);
@@ -185,6 +183,7 @@ define(function(require) {
                        var tags = list.map(function(m){
                                return { id : m.id+"" , text : m.get('name')};
                        });
+                       
                        $select.select2({
                                closeOnSelect : true,
                                placeholder : placeholder,
@@ -194,8 +193,6 @@ define(function(require) {
                                tags : tags, 
                                initSelection : function (element, callback) {
                                        var data = [];
-                                       console.log(list);
-                                       
                                        
$(element.val().split(",")).each(function () {
                                                var obj = 
_.findWhere(tags,{text:this});
                                                data.push({id: obj.id, text: 
this})
@@ -213,12 +210,14 @@ define(function(require) {
                                                //Get selected values of 
groups/users dropdown
                                                selectedVals = 
that.getSelectdValues($select, typeGroup);
                                                if(data.resultSize != "0"){
-                                                       if(typeGroup)
+                                                       if(typeGroup){
                                                                results = 
data.vXGroups.map(function(m, i){     return {id : m.id+"", text: m.name};    
});
-                                                       else
+                                                       } else {
                                                                results = 
data.vXUsers.map(function(m, i){      return {id : m.id+"", text: m.name};    
});
-                                                       
if(!_.isEmpty(selectedVals))
+                                                       }
+                                                       
if(!_.isEmpty(selectedVals)){
                                                                results = 
XAUtil.filterResultByText(results, selectedVals);
+                                                       }
                                                        return {results : 
results};
                                                }
                                                return {results : results};
@@ -257,7 +256,6 @@ define(function(require) {
                                        }
 //                             that.checkDirtyFieldForGroup(values);
                                        
-                                       
                                        var permTypeArr = [];
                                        var valArr = _.map(values, function(id){
                                                if(!_.isUndefined(id)){
@@ -303,7 +301,7 @@ define(function(require) {
                        this.ui.addPerms.attr('title','Components Permissions')
                        this.ui.delegatedAdmin.parent('td').hide();
                        this.perms =  _.map(this.accessTypes,function(m){return 
{text:m.label, value:m.name};});
-//                     this.perms.push({'value' : -1, 'text' : 
'Select/Deselect All'});
+
                        //create x-editable for permissions
                        this.ui.addPerms.editable({
                            emptytext : 'Add Permissions',
@@ -329,7 +327,6 @@ define(function(require) {
                                        }
 //                             that.checkDirtyFieldForGroup(values);
                                        
-                                       
                                        var permTypeArr = [];
                                        var valArr = _.map(values, function(id){
                                                if(!_.isUndefined(id)){
@@ -383,10 +380,11 @@ define(function(require) {
                clickOnPermissions : function(that) {
                        var selectAll = true;
                        var checklist = 
that.$('.editable-checklist').find('input[type="checkbox"]')
+                       
                        _.each(checklist,function(checkbox){ 
if($(checkbox).val() != -1 && !$(checkbox).is(':checked')) selectAll = false;})
                        if(selectAll){
                                
that.$('.editable-checklist').find('input[type="checkbox"][value="-1"]').prop('checked',true)
-                       }else{
+                       } else {
                                
that.$('.editable-checklist').find('input[type="checkbox"][value="-1"]').prop('checked',false)
                        }
                        //for selectAll functionality
@@ -424,6 +422,7 @@ define(function(require) {
                                                        return; 
                                                }
                                                _.each(value, function(val, 
name){ if(!_.isEmpty(val)) continue_ = true; });
+                                               
                                                if(continue_){
                                                        //Generate html to show 
on UI
                                                        var html = _.map(value, 
function(val,name) {
@@ -449,7 +448,7 @@ define(function(require) {
                                                        $(this).html(html);
                                                        
that.ui.addConditionsSpan.find('i').attr('class', 'icon-pencil');
                                                        
that.ui.addConditionsSpan.attr('title','edit');
-                                               }else{
+                                               } else {
                                                        
that.model.unset('conditions');
                                                        $(this).empty();
                                                        
that.ui.addConditionsSpan.find('i').attr('class', 'icon-plus');
@@ -491,11 +490,6 @@ define(function(require) {
                getSelectdValues : function($select, typeGroup){
                        var vals = [],selectedVals = [];
                        var name = typeGroup ? 'group' : 'user';
-//                     this.collection.each(function(m){
-//                             if(!_.isUndefined(m.get(name+'Name')) && 
!_.isNull(m.get(name+'Name'))){
-//                                     vals.push.apply(vals, 
m.get(name+'Name').split(','));
-//                             }
-//                     });
                        if(!_.isEmpty($select.select2('data')))
                                selectedVals = 
_.map($select.select2('data'),function(obj){ return obj.text});
                        vals.push.apply(vals , selectedVals);
@@ -513,10 +507,23 @@ define(function(require) {
                        //Set Delegated Admin value 
                        if(!_.isUndefined($el.find('input').data('js'))){
                                
this.model.set('delegateAdmin',$el.is(':checked'));
-                               return;
                        }
-               },
+                       //select/deselect all functionality
+                       
if(this.checkAll($el.find('input[type="checkbox"][value!="-1"]'))){
+                               
$el.find('input[type="checkbox"][value="-1"]').prop('checked', true)
+                       } else {
+                           
$el.find('input[type="checkbox"][value="-1"]').prop('checked', false)
+                       }
 
+               },
+               checkAll : function($inputs){
+                        var checkall = true;
+                        $inputs.each(function(idx, input){
+                           if(!checkall)   return;
+                               checkall = $(input).is(':checked') ? true : 
false
+                        });
+                        return checkall;
+               },
                checkDirtyFieldForCheckBox : function(perms){
                        var permList = [];
                        if(!_.isUndefined(this.model.get('_vPermList')))
@@ -538,16 +545,16 @@ define(function(require) {
                                if( !_.isUndefined(e.added)){
                                        if((grpTemp.length ) == 
this.groupList.length && ((usrTemp.length) == this.userList.length)){
                                                
$('[data-action="addGroup"]').hide();
-                                       }else{
+                                       } else {
                                                
$('[data-action="addGroup"]').show();
                                        }
                                } 
                                if(!_.isUndefined(e.removed))
                                        $('[data-action="addGroup"]').show();
-                       }else{
+                       } else {
                                if((grpTemp.length ) == this.groupList.length 
&& ((usrTemp.length) == this.userList.length)){
                                        $('[data-action="addGroup"]').hide();
-                               }else{
+                               } else {
                                        $('[data-action="addGroup"]').show();
                                }
                        }
@@ -577,7 +584,7 @@ define(function(require) {
 
 
        return Backbone.Marionette.CompositeView.extend({
-               _msvName : 'FormInputItemList',
+               _msvName : 'PermissionItemList',
                template : require('hbs!tmpl/policies/PermissionList'),
                templateHelpers :function(){
                        return {
@@ -589,7 +596,7 @@ define(function(require) {
                        if(!item){
                                return;
                        }
-                       return FormInputItem;
+                       return PermissionItem;
                },
                itemViewContainer : ".js-formInput",
                itemViewOptions : function() {
@@ -612,16 +619,11 @@ define(function(require) {
                                this.collection.add(new Backbone.Model());
                },
                onRender : function(){
-//                     this.toggleAddButton();
-                       //this.initializePlugins();
                },
 
                addNew : function(){
                        var that =this;
-//                     if(this.groupList.length > this.collection.length && 
(this.userList.length > this.collection.length)){
-                               this.collection.add(new Backbone.Model());
-//                             this.toggleAddButton();
-//                     }
+                       this.collection.add(new Backbone.Model());
                },
                toggleAddButton : function(){
                        var groupNames=[], userNames=[];
@@ -635,17 +637,18 @@ define(function(require) {
                                        userNames.push.apply(userNames,temp);
                                }
                        });
-                       if(groupNames.length == this.groupList.length && 
userNames.length == this.userList.length )
+                       if(groupNames.length == this.groupList.length && 
userNames.length == this.userList.length ){
                                this.$('button[data-action="addGroup"]').hide();
-                       else
+                       } else {
                                this.$('button[data-action="addGroup"]').show();
+                       }
                },
                getPermHeaders : function(){
                        var permList = [];
                        if(this.rangerServiceDefModel.get('name') != 
XAEnums.ServiceType.SERVICE_TAG.label){
                                
permList.unshift(localization.tt('lbl.delegatedAdmin'));
                                
permList.unshift(localization.tt('lbl.permissions'));
-                       }else{
+                       } else {
                                
permList.unshift(localization.tt('lbl.componentPermissions'));
                        }
                        
if(!_.isEmpty(this.rangerServiceDefModel.get('policyConditions'))){

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/018644b9/security-admin/src/main/webapp/scripts/views/policies/RangerPolicyCreate.js
----------------------------------------------------------------------
diff --git 
a/security-admin/src/main/webapp/scripts/views/policies/RangerPolicyCreate.js 
b/security-admin/src/main/webapp/scripts/views/policies/RangerPolicyCreate.js
index cc11cef..a4454bd 100644
--- 
a/security-admin/src/main/webapp/scripts/views/policies/RangerPolicyCreate.js
+++ 
b/security-admin/src/main/webapp/scripts/views/policies/RangerPolicyCreate.js
@@ -49,10 +49,11 @@ define(function(require){
        },
        breadCrumbs :function(){
                var name  = this.rangerServiceDefModel.get('name') != 
XAEnums.ServiceType.SERVICE_TAG.label ? 'ServiceManager' : 
'TagBasedServiceManager';
-               if(this.model.isNew())
+               if(this.model.isNew()){
                        return 
[XALinks.get(name),XALinks.get('ManagePolicies',{model : 
this.rangerService}),XALinks.get('PolicyCreate')];
-               else
+               } else {
                        return 
[XALinks.get(name),XALinks.get('ManagePolicies',{model : 
this.rangerService}),XALinks.get('PolicyEdit')];
+               }
        } ,        
 
                /** Layout sub regions */
@@ -123,13 +124,8 @@ define(function(require){
                        
XAUtil.preventNavigation(localization.tt('dialogMsg.preventNavPolicyForm'),this.rForm.$el);
                },
                popupCallBack : function(msg,validateObj){
-                       var that = this;
                        XAUtil.alertPopup({
                                msg :msg,
-                               callback : function(){
-                               //      if(validateObj.auditLoggin)
-                               //              that.savePolicy();
-                               }
                        });
                },
                onSave: function(){
@@ -159,39 +155,36 @@ define(function(require){
                        if(!valid){
                                if((!validateObj.groupSet && 
!validateObj.userSet) && (validateObj.condSet)) {
                                        
this.popupCallBack(localization.tt('msg.addUserOrGroupForPC'),validateObj);
-                               }else if((!validateObj.groupSet && 
!validateObj.userSet) && (validateObj.permSet)) {
+                               } else if((!validateObj.groupSet && 
!validateObj.userSet) && (validateObj.permSet)) {
                                        
this.popupCallBack(localization.tt('msg.addUserOrGroup'),validateObj);
                                        
-                               }else if(validateObj.groupSet && 
(!validateObj.permSet)){
+                               } else if(validateObj.groupSet && 
(!validateObj.permSet)){
                                        
this.popupCallBack(localization.tt('msg.addGroupPermission'),validateObj);
-                               }else if((!validateObj.groupSet) && 
(validateObj.permSet)) {
+                               } else if((!validateObj.groupSet) && 
(validateObj.permSet)) {
                                        
this.popupCallBack(localization.tt('msg.addGroup'),validateObj);
                                                
-                               }else if(validateObj.userSet && 
(!validateObj.userPerm)){
+                               } else if(validateObj.userSet && 
(!validateObj.userPerm)){
                                        
this.popupCallBack(localization.tt('msg.addUserPermission'),validateObj);
-                               }else if((!validateObj.userSet) && 
(validateObj.userPerm)) {
+                               } else if((!validateObj.userSet) && 
(validateObj.userPerm)) {
                                        
this.popupCallBack(localization.tt('msg.addUser'),validateObj);
                                                
-                               }else if((!validateObj.auditLoggin) && 
(!validateObj.groupPermSet)){
+                               } else if((!validateObj.auditLoggin) && 
(!validateObj.groupPermSet)){
                                        return true;
-//                                     XAUtil.alertPopup({ msg 
:localization.tt('msg.yourAuditLogginIsOff') });
                                }else{
-//                                     this.savePolicy();
                                        return true;
                                }
-                       }else{
+                       } else {
                                if(validateObj.groupSet && 
(!validateObj.permSet)){
                                        
this.popupCallBack(localization.tt('msg.addGroupPermission'),validateObj);
-                               }else if((!validateObj.groupSet) && 
(validateObj.permSet)) {
+                               } else if((!validateObj.groupSet) && 
(validateObj.permSet)) {
                                        
this.popupCallBack(localization.tt('msg.addGroup'),validateObj);
                                                
-                               }else if(validateObj.userSet && 
(!validateObj.userPerm)){
+                               } else if(validateObj.userSet && 
(!validateObj.userPerm)){
                                        
this.popupCallBack(localization.tt('msg.addUserPermission'),validateObj);
-                               }else if((!validateObj.userSet) && 
(validateObj.userPerm)) {
+                               } else if((!validateObj.userSet) && 
(validateObj.userPerm)) {
                                        
this.popupCallBack(localization.tt('msg.addUser'),validateObj);
                                                
-                               }else{
-//                                     this.savePolicy();
+                               } else {
                                        return true;
                                }
                        }
@@ -238,7 +231,6 @@ define(function(require){
                onDelete :function(){
                        var that = this;
                        XAUtil.confirmPopup({
-                               //msg :localize.tt('msg.confirmDelete'),
                                msg :'Are you sure want to delete ?',
                                callback : function(){
                                        XAUtil.blockUI();
@@ -251,11 +243,11 @@ define(function(require){
                                                },
                                                error: function (model, 
response, options) {
                                                        
XAUtil.blockUI('unblock');
-                                                       if ( response && 
response.responseJSON && response.responseJSON.msgDesc){
+                                                       if (response && 
response.responseJSON && response.responseJSON.msgDesc){
                                                                    
XAUtil.notifyError('Error', response.responseJSON.msgDesc);
-                                                           }else
+                                                       } else {
                                                                
XAUtil.notifyError('Error', 'Error deleting Policy!');
-                                                           
console.log("error");
+                                                       }
                                                }
                                        });
                                }
@@ -265,8 +257,6 @@ define(function(require){
                onClose: function(){
                        XAUtil.allowNavigation();
                }
-
        });
-
        return RangerPolicyCreate;
 });

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/018644b9/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 55ea285..59aac0d 100644
--- 
a/security-admin/src/main/webapp/scripts/views/policies/RangerPolicyTableLayout.js
+++ 
b/security-admin/src/main/webapp/scripts/views/policies/RangerPolicyTableLayout.js
@@ -31,7 +31,6 @@ define(function(require){
        var XABackgrid          = require('views/common/XABackgrid');
        var XATableLayout       = require('views/common/XATableLayout');
        var localization        = require('utils/XALangSupport');
-       var vFolderInfo = require('views/folders/FolderInfo');
        var RangerService               = require('models/RangerService');
        var RangerServiceDef    = require('models/RangerServiceDef');
        var RangerPolicy                = require('models/RangerPolicy');

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/018644b9/security-admin/src/main/webapp/scripts/views/policymanager/ServiceLayout.js
----------------------------------------------------------------------
diff --git 
a/security-admin/src/main/webapp/scripts/views/policymanager/ServiceLayout.js 
b/security-admin/src/main/webapp/scripts/views/policymanager/ServiceLayout.js
index f7c72dc..bac6c34 100644
--- 
a/security-admin/src/main/webapp/scripts/views/policymanager/ServiceLayout.js
+++ 
b/security-admin/src/main/webapp/scripts/views/policymanager/ServiceLayout.js
@@ -22,13 +22,13 @@ define(function(require){
     'use strict';
 
        var Backbone                    = require('backbone');
-
        var XALinks                     = require('modules/XALinks');
        var XAEnums                     = require('utils/XAEnums');
        var XAUtil                              = require('utils/XAUtils');
        var SessionMgr                  = require('mgrs/SessionMgr');
+       
        var RangerServiceList   = require('collections/RangerServiceList');
-       var RangerService       = require('models/RangerService');
+       var RangerService               = require('models/RangerService');
        
        var ServicemanagerlayoutTmpl = 
require('hbs!tmpl/common/ServiceManagerLayout_tmpl');
        return Backbone.Marionette.Layout.extend(
@@ -39,11 +39,10 @@ define(function(require){
        template: ServicemanagerlayoutTmpl,
 
                templateHelpers: function(){
-                       var groupedServices = this.services.groupBy("type");
                        return {
-                               operation : SessionMgr.isSystemAdmin() || 
SessionMgr.isKeyAdmin(),
+                               operation       : SessionMgr.isSystemAdmin() || 
SessionMgr.isKeyAdmin(),
                                serviceDefs : this.collection.models,
-                               services : groupedServices
+                               services        : this.services.groupBy("type")
                        };
                },
        breadCrumbs :function(){

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/018644b9/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 8491a79..623ae03 100644
--- a/security-admin/src/main/webapp/scripts/views/reports/AuditLayout.js
+++ b/security-admin/src/main/webapp/scripts/views/reports/AuditLayout.js
@@ -105,7 +105,6 @@ define(function(require) {
                        console.log("initialized a AuditLayout Layout");
 
                        _.extend(this, _.pick(options, 
'accessAuditList','tab'));
-               //      this.initializePolling();
                        this.bindEvents();
                        this.currentTab = '#'+this.tab;
                        var date = new Date().toString();
@@ -119,20 +118,13 @@ define(function(require) {
                        //this.listenTo(this.collection, "change:foo", 
this.render, this);
                },
                initializeCollection : function(){
-                       
                        this.collection.fetch({
                                reset : true,
                                cache : false
                        });
                },
-               initializePolling : function(){
-                       this.timerId = setInterval(function(){
-//                             that.onRefresh(this.accessAuditList);
-                               console.log('polling collection..');
-                       },XAGlobals.settings.AUDIT_REPORT_POLLING);
-               },
                initializeServiceDefColl : function() {
-                       this.serviceDefList                     = new 
RangerServiceDefList();
+                       this.serviceDefList     = new RangerServiceDefList();
                        this.serviceDefList.fetch({ 
                                cache : false,
                                async:false
@@ -146,15 +138,15 @@ define(function(require) {
                                this.onTabChange();
                                
this.ui.tab.find('li[class="active"]').removeClass();
                                
this.ui.tab.find('[href="'+this.currentTab+'"]').parent().addClass('active');
-                               
-                       }else{
+                       } else {
                                this.renderBigDataTable();
                                this.addSearchForBigDataTab();
                                this.modifyTableForSubcolumns();
                        }
                 },
-                displayDatepicker : function ($el, callback) {
-                   var input = $el.find('.search_facet.is_editing 
input.search_facet_input');
+               displayDatepicker : function ($el, callback) {
+                       var input = $el.find('.search_facet.is_editing 
input.search_facet_input');
+                   
                    input.datepicker({
                        autoclose : true,
                        dateFormat: 'yy-mm-dd'
@@ -168,7 +160,7 @@ define(function(require) {
                        input.datepicker("destroy");
                    });
                    input.datepicker('show');
-                 },
+               },
                modifyTableForSubcolumns : function(){
                        this.$el.find('[data-id="r_tableList"] table 
thead').prepend('<tr>\
                                        <th class="renderable pid"></th>\
@@ -186,17 +178,17 @@ define(function(require) {
                },
                renderDateFields : function(){
                        var that = this;
+
                        this.ui.startDate.datepicker({
                                autoclose : true
-                               //language : $.cookie().lang
                        }).on('changeDate', function(ev) {
                                that.ui.endDate.datepicker('setStartDate', 
ev.date);
                        }).on('keydown',function(){
                                return false;
                        });
+                       
                        this.ui.endDate.datepicker({
                                autoclose : true
-                               //language : $.cookie().lang
                        }).on('changeDate', function(ev) {
                                that.ui.startDate.datepicker('setEndDate', 
ev.date);
                        }).on('keydown',function(){
@@ -205,60 +197,60 @@ define(function(require) {
                },
                onTabChange : function(e){
                        var that = this, tab;
-                       if(!_.isUndefined(e))
-                               tab = $(e.currentTarget).attr('href');
-                       else
-                               tab = this.currentTab;
+                       tab = !_.isUndefined(e) ? 
$(e.currentTarget).attr('href') : this.currentTab;
                        this.$el.parents('body').find('.datepicker').remove();
                        switch (tab) {
-                       case "#bigData":
-                               this.currentTab = '#bigData';
-                               this.ui.visualSearch.show();
-                               this.ui.visualSearch.parents('.well').show();
-                               this.renderBigDataTable();
-                               this.modifyTableForSubcolumns();
-                               if(this.accessAuditList.length <= 0){
-                                       this.accessAuditList.fetch({
-                                               cache : false
+                               case "#bigData":
+                                       this.currentTab = '#bigData';
+                                       this.ui.visualSearch.show();
+                                       
this.ui.visualSearch.parents('.well').show();
+                                       this.renderBigDataTable();
+                                       this.modifyTableForSubcolumns();
+                                       if(this.accessAuditList.length <= 0){
+                                               this.accessAuditList.fetch({
+                                                       cache : false
+                                               });
+                                       }
+                                       this.addSearchForBigDataTab();
+                                       this.listenTo(this.accessAuditList, 
"request", that.updateLastRefresh)
+                                       break;
+                               case "#admin":
+                                       this.currentTab = '#admin';
+                                       this.trxLogList = new VXTrxLogList();
+                                       this.renderAdminTable();
+                                       if(_.isUndefined(App.sessionId)){
+                                   this.trxLogList.fetch({
+                                                          cache : false
+                                               });
+                                       }
+                                       this.addSearchForAdminTab();
+                                       this.listenTo(this.trxLogList, 
"request", that.updateLastRefresh)
+                                       break;
+                               case "#loginSession":
+                                       this.currentTab = '#loginSession';
+                                       this.authSessionList = new 
VXAuthSession();
+                                       this.renderLoginSessionTable();
+                                       //Setting SortBy as id and sortType as 
desc = 1
+                                       
this.authSessionList.setSorting('id',1); 
+                                       this.authSessionList.fetch({
+                                               cache:false,
                                        });
-                               }
-                               this.addSearchForBigDataTab();
-                               break;
-                       case "#admin":
-                               this.currentTab = '#admin';
-                               this.trxLogList = new VXTrxLogList();
-                               this.renderAdminTable();
-                               if(_.isUndefined(App.sessionId)){
-                           this.trxLogList.fetch({
-                                                  cache : false
+                                       this.addSearchForLoginSessionTab();
+                                       this.listenTo(this.authSessionList, 
"request", that.updateLastRefresh)
+                                       break;
+                               case "#agent":
+                                       this.currentTab = '#agent';
+                                       this.policyExportAuditList = new 
VXPolicyExportAuditList();     
+                                       var params = { priAcctId : 1 };
+                                       that.renderAgentTable();
+                                       
this.policyExportAuditList.setSorting('createDate',1);
+                                       this.policyExportAuditList.fetch({
+                                               cache : false,
+                                               data :params
                                        });
-                               }
-                               this.addSearchForAdminTab();
-                                       
-                               break;
-                       case "#loginSession":
-                               this.currentTab = '#loginSession';
-                               this.authSessionList = new VXAuthSession();
-                               this.renderLoginSessionTable();
-                               //Setting SortBy as id and sortType as desc = 1
-                               this.authSessionList.setSorting('id',1); 
-                               this.authSessionList.fetch({
-                                       cache:false,
-                               });
-                               this.addSearchForLoginSessionTab();
-                               break;
-                       case "#agent":
-                               this.currentTab = '#agent';
-                               this.policyExportAuditList = new 
VXPolicyExportAuditList();     
-                               var params = { priAcctId : 1 };
-                               that.renderAgentTable();
-                               
this.policyExportAuditList.setSorting('createDate',1);
-                               this.policyExportAuditList.fetch({
-                                       cache : false,
-                                       data :params
-                               });
-                               this.addSearchForAgentTab();
-                               break;  
+                                       this.addSearchForAgentTab();
+                                       
this.listenTo(this.policyExportAuditList, "request", that.updateLastRefresh)
+                                       break;  
                        }
                        var lastUpdateTime = Globalize.format(new Date(),  
"MM/dd/yyyy hh:mm:ss tt");
                        that.ui.lastUpdateTimeLabel.html(lastUpdateTime);
@@ -289,12 +281,12 @@ define(function(require) {
                                        valueMatches : function(facet, 
searchTerm, callback) {
                                                var auditList = [];
                                                _.each(XAEnums.ClassTypes, 
function(obj){
-                                                       if((obj.value == 
XAEnums.ClassTypes.CLASS_TYPE_XA_ASSET.value) ||
-                                                                       
(obj.value == XAEnums.ClassTypes.CLASS_TYPE_XA_RESOURCE.value) ||
-                                                                       
(obj.value == XAEnums.ClassTypes.CLASS_TYPE_RANGER_POLICY.value) ||
-                                                                       
(obj.value == XAEnums.ClassTypes.CLASS_TYPE_RANGER_SERVICE.value) ||
-                                                                       
(obj.value == XAEnums.ClassTypes.CLASS_TYPE_XA_USER.value) || 
-                                                                       
(obj.value == XAEnums.ClassTypes.CLASS_TYPE_XA_GROUP.value))
+                                                       if((obj.value == 
XAEnums.ClassTypes.CLASS_TYPE_XA_ASSET.value) 
+                                                                       || 
(obj.value == XAEnums.ClassTypes.CLASS_TYPE_XA_RESOURCE.value) 
+                                                                       || 
(obj.value == XAEnums.ClassTypes.CLASS_TYPE_RANGER_POLICY.value) 
+                                                                       || 
(obj.value == XAEnums.ClassTypes.CLASS_TYPE_RANGER_SERVICE.value)
+                                                                       || 
(obj.value == XAEnums.ClassTypes.CLASS_TYPE_XA_USER.value) 
+                                                                       || 
(obj.value == XAEnums.ClassTypes.CLASS_TYPE_XA_GROUP.value))
                                                                
auditList.push({label :obj.label, value :obj.value+''});
                                                });
                                                
@@ -333,7 +325,6 @@ define(function(require) {
                                                                
callback([today]);
                                                                break;
                                            }
-                                               
                                        }
                              }
                        };
@@ -354,12 +345,12 @@ define(function(require) {
                        
                        var auditList = [],query = '';
                        _.each(XAEnums.ClassTypes, function(obj){
-                               if((obj.value == 
XAEnums.ClassTypes.CLASS_TYPE_XA_ASSET.value) ||
-                                               (obj.value == 
XAEnums.ClassTypes.CLASS_TYPE_XA_RESOURCE.value) ||
-                                               (obj.value == 
XAEnums.ClassTypes.CLASS_TYPE_RANGER_POLICY.value) ||
-                                               (obj.value == 
XAEnums.ClassTypes.CLASS_TYPE_RANGER_SERVICE.value) ||
-                                               (obj.value == 
XAEnums.ClassTypes.CLASS_TYPE_XA_USER.value) || 
-                                               (obj.value == 
XAEnums.ClassTypes.CLASS_TYPE_XA_GROUP.value))
+                               if((obj.value == 
XAEnums.ClassTypes.CLASS_TYPE_XA_ASSET.value) 
+                                               || (obj.value == 
XAEnums.ClassTypes.CLASS_TYPE_XA_RESOURCE.value) 
+                                               || (obj.value == 
XAEnums.ClassTypes.CLASS_TYPE_RANGER_POLICY.value) 
+                                               || (obj.value == 
XAEnums.ClassTypes.CLASS_TYPE_RANGER_SERVICE.value) 
+                                               || (obj.value == 
XAEnums.ClassTypes.CLASS_TYPE_XA_USER.value)  
+                                               || (obj.value == 
XAEnums.ClassTypes.CLASS_TYPE_XA_GROUP.value))
                                        auditList.push({label :obj.label, value 
:obj.label+''});
                        });
                        if(!_.isUndefined(App.sessionId)){
@@ -565,7 +556,7 @@ define(function(require) {
                                                                userName 
:self.model.get('owner'),
                                                                action : action
                                                        });
-                                               }else{
+                                               } else {
                                                        var view = new 
vOperationDiffDetail({
                                                                collection : 
fullTrxLogListForTrxId,
                                                                classType : 
self.model.get('objectClassType'),
@@ -587,9 +578,6 @@ define(function(require) {
                                                
modal.$el.addClass('modal-diff').attr('tabindex',-1);
                                                
modal.$el.find('.cancel').hide();
                                        });
-                                       
-                                       
-                                       
                                }
                        });
                        this.ui.tableList.addClass("clickable");
@@ -607,15 +595,14 @@ define(function(require) {
                getAdminTableColumns : function(){
                        var auditList = [];
                        _.each(XAEnums.ClassTypes, function(obj){
-                               if((obj.value == 
XAEnums.ClassTypes.CLASS_TYPE_XA_ASSET.value) ||
-                                       (obj.value == 
XAEnums.ClassTypes.CLASS_TYPE_XA_RESOURCE.value) ||
-                                       (obj.value == 
XAEnums.ClassTypes.CLASS_TYPE_RANGER_POLICY.value) ||
-                                       (obj.value == 
XAEnums.ClassTypes.CLASS_TYPE_RANGER_SERVICE.value) ||
-                                       (obj.value == 
XAEnums.ClassTypes.CLASS_TYPE_XA_USER.value) || 
-                                       (obj.value == 
XAEnums.ClassTypes.CLASS_TYPE_XA_GROUP.value))
+                               if((obj.value == 
XAEnums.ClassTypes.CLASS_TYPE_XA_ASSET.value) 
+                                               || (obj.value == 
XAEnums.ClassTypes.CLASS_TYPE_XA_RESOURCE.value)
+                                               || (obj.value == 
XAEnums.ClassTypes.CLASS_TYPE_RANGER_POLICY.value) 
+                                               || (obj.value == 
XAEnums.ClassTypes.CLASS_TYPE_RANGER_SERVICE.value)
+                                               || (obj.value == 
XAEnums.ClassTypes.CLASS_TYPE_XA_USER.value)
+                                               || (obj.value == 
XAEnums.ClassTypes.CLASS_TYPE_XA_GROUP.value))
                                auditList.push({text :obj.label, id 
:obj.value});
                        });
-                       console.log(auditList);
                        var cols = {
                                operation : {
                                        label : 
localization.tt("lbl.operation"),
@@ -631,7 +618,7 @@ define(function(require) {
                                                                label = 
XAUtils.enumValueToLabel(XAEnums.ClassTypes,rawValue), html = '';
                                                        if(rawValue == 
XAEnums.ClassTypes.CLASS_TYPE_XA_ASSET.value || rawValue == 
XAEnums.ClassTypes.CLASS_TYPE_RANGER_SERVICE.value)
                                                                html =  
'Service '+action+'d '+'<b>'+name+'</b>';
-                                                       if(rawValue == 
XAEnums.ClassTypes.CLASS_TYPE_XA_RESOURCE.value|| rawValue == 
XAEnums.ClassTypes.CLASS_TYPE_RANGER_POLICY.value)
+                                                       if(rawValue == 
XAEnums.ClassTypes.CLASS_TYPE_XA_RESOURCE.value || rawValue == 
XAEnums.ClassTypes.CLASS_TYPE_RANGER_POLICY.value)
                                                                html =  'Policy 
'+action+'d '+'<b>'+name+'</b>';
                                                        if(rawValue == 
XAEnums.ClassTypes.CLASS_TYPE_XA_USER.value)
                                                                html =  'User 
'+action+'d '+'<b>'+name+'</b>';
@@ -672,7 +659,6 @@ define(function(require) {
                                        cell: "String",
                                        click : false,
                                        drag : false,
-                                       //sortable:false,
                                        editable:false,
                     sortType: 'toggle',
                     direction: 'descending',
@@ -692,14 +678,16 @@ define(function(require) {
                                        formatter: _.extend({}, 
Backgrid.CellFormatter.prototype, {
                                                fromRaw: function (rawValue) {
                                                        var html = '';
-                                                       if(rawValue =='create')
+                                                       if(rawValue =='create'){
                                                                html =  '<label 
class="label label-success">'+rawValue+'</label>';
-                                                       else if(rawValue == 
'update')
+                                                       } else if(rawValue == 
'update'){
                                                                html =  '<label 
class="label label-yellow">'+rawValue+'</label>';
-                                                       else if(rawValue == 
'delete')
+                                                       }else if(rawValue == 
'delete'){
                                                                html =  '<label 
class="label label-important">'+rawValue+'</label>';
-                                                       else
+                                                       } else {
                                                                html =  '<label 
class="label">'+rawValue+'</label>';
+                                                       }
+
                                                        return html;
                                                }
                                        })
@@ -796,19 +784,10 @@ define(function(require) {
                                                                if(rawValue == 
-1){
                                                                        return 
'--';
                                                                }       
-                                                               /*var 
rangerService = new RangerService();
-                                                               
rangerService.urlRoot += '/name/'+model.get('repoName'); 
-                                                               
rangerService.fetch({
-                                                                 cache : false,
-                                                                 async : false
-                                                               });*/
-
-//                                                             if 
(SessionMgr.isKeyAdmin()) {
-                                                                       var 
serviceDef = that.serviceDefList.findWhere({'id' : model.get('repoType')})
-                                                                       
if(_.isUndefined(serviceDef)){
-                                                                               
return rawValue;
-                                                                       }
-//                                                             }
+                                                               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>';
                                                        }
@@ -836,7 +815,6 @@ define(function(require) {
                                                cell: "String",
                                                click : false,
                                                drag : false,
-                                       //      sortable:false,
                                                editable:false
                                        },
                                        repoName : {
@@ -880,7 +858,6 @@ define(function(require) {
                                                cell: "html",
                                                click : false,
                                                drag : false,
-                       //                      sortable:false,
                                                editable:false,
                                                formatter: _.extend({}, 
Backgrid.CellFormatter.prototype, {
                                                        fromRaw: function 
(rawValue) {
@@ -888,10 +865,11 @@ define(function(require) {
                                                                
_.each(_.toArray(XAEnums.AccessResult),function(m){
                                                                        
if(parseInt(rawValue) == m.value){
                                                                                
label=  m.label;
-                                                                               
if(m.value == XAEnums.AccessResult.ACCESS_RESULT_ALLOWED.value)
+                                                                               
if(m.value == XAEnums.AccessResult.ACCESS_RESULT_ALLOWED.value){
                                                                                
        html =  '<label class="label label-success">'+label+'</label>';
-                                                                               
else 
+                                                                               
} else {
                                                                                
        html =  '<label class="label label-important">'+label+'</label>';
+                                                                               
} 
                                                                        }       
                                                                });
                                                                return html;
@@ -957,7 +935,7 @@ define(function(require) {
                                if(obj.value !=  
XAEnums.AuthType.AUTH_TYPE_UNKNOWN.value)
                                        authTypeList.push({text :obj.label, id 
:obj.value});
                        });
-                       console.log(authStatusList);
+
                        var cols = {
                                id : {
                                        label : 
localization.tt("lbl.sessionId"),
@@ -965,7 +943,6 @@ define(function(require) {
                                        href: function(model){
                                                return 
'#!/reports/audit/loginSession/id/'+model.get('id');
                                        },
-//                                     sortable:false,
                                        editable:false,
                                        sortType: 'toggle',
                                        direction: 'descending'
@@ -985,12 +962,13 @@ define(function(require) {
                                                        
_.each(_.toArray(XAEnums.AuthStatus),function(m){
                                                                
if(parseInt(rawValue) == m.value){
                                                                        label=  
m.label;
-                                                                       
if(m.value == 1)
+                                                                       
if(m.value == 1){
                                                                                
html =  '<label class="label label-success">'+label+'</label>';
-                                                                       else 
if(m.value == 2)
+                                                                       } else 
if(m.value == 2){
                                                                                
html =  '<label class="label label-important">'+label+'</label>';
-                                                                       else
+                                                                       } else {
                                                                                
html =  '<label class="label">'+label+'</label>';
+                                                                       }
                                                                }       
                                                        });
                                                        return html;
@@ -1039,7 +1017,6 @@ define(function(require) {
                                authTime : {
                                        label : 
localization.tt("lbl.loginTime")+ '   ( '+this.timezone+' )',
                                        cell: "String",
-                               //      sortable:false,
                                        editable:false,
                                        formatter: _.extend({}, 
Backgrid.CellFormatter.prototype, {
                                                fromRaw: function (rawValue, 
model) {
@@ -1110,11 +1087,8 @@ define(function(require) {
                                                formatter: _.extend({}, 
Backgrid.CellFormatter.prototype, {
                                                        fromRaw: function 
(rawValue, model) {
                                                                var html = 
rawValue;
-                                                               if(rawValue > 
400)
-                                                                       html = 
'<label class="label btn-danger">'+rawValue+'</label>';
-                                                               else
-                                                                       html = 
'<label class="label btn-success">'+rawValue+'</label>';
-                                                               return html;
+                                                               return 
(rawValue > 400) ? '<label class="label btn-danger">'+rawValue+'</label>'
+                                                                               
:       '<label class="label btn-success">'+rawValue+'</label>';
                                                        }
                                                })
                                        },
@@ -1142,6 +1116,7 @@ define(function(require) {
                                coll = this.authSessionList;
                                break;
                        case "#agent":
+                               //TODO
                                params = { 'priAcctId' : 1 };
                                coll = this.policyExportAuditList;
                                break;  
@@ -1157,25 +1132,21 @@ define(function(require) {
                                }
                                
                        });
-                       
-                               
                },
                onSearch : function(e){
                        this.setCurrentTabCollection();
-                       var resourceName= this.ui.resourceName.val();
-                       var startDate   = this.ui.startDate.val();
-                       var endDate     = this.ui.endDate.val();
-                       var params = { 'startDate' : startDate , 'endDate' : 
endDate };
+                       var resourceName= this.ui.resourceName.val(),
+                               startDate       = this.ui.startDate.val(),
+                               endDate         = this.ui.endDate.val(),
+                               params = { 'startDate' : startDate , 'endDate' 
: endDate };
                        //After every search we need goto to first page
                        $.extend(this.collection.queryParams,params);
                        //collection.fetch({data: data, reset: true});
 
                        this.collection.state.currentPage = 
this.collection.state.firstPage;
-                       
                        this.collection.fetch({
                                reset : true,
-                               cache : false
-                               //data : params,
+                               cache : false,
                        });
                },
                setCurrentTabCollection : function(){
@@ -1201,13 +1172,12 @@ define(function(require) {
                        });
                },
 
-               /*
-                * onChangeRepository : function(){ this.onSearch(); },
-                */
                /** all post render plugin initialization */
                initializePlugins : function() {
                },
-
+               updateLastRefresh : function(){
+                       this.ui.lastUpdateTimeLabel.html(Globalize.format(new 
Date(),  "MM/dd/yyyy hh:mm:ss tt"));
+               },
                /** on close */
                onClose : function() {
                        clearInterval(this.timerId);

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/018644b9/security-admin/src/main/webapp/scripts/views/reports/LoginSessionDetail.js
----------------------------------------------------------------------
diff --git 
a/security-admin/src/main/webapp/scripts/views/reports/LoginSessionDetail.js 
b/security-admin/src/main/webapp/scripts/views/reports/LoginSessionDetail.js
index 8f0f67e..6f1069d 100644
--- a/security-admin/src/main/webapp/scripts/views/reports/LoginSessionDetail.js
+++ b/security-admin/src/main/webapp/scripts/views/reports/LoginSessionDetail.js
@@ -35,9 +35,6 @@ define(function(require){
                
        template: LoginSessionDetail_tmpl,
         templateHelpers :function(){
-               
-               return {
-               };
         },
        /** ui selector cache */
        ui: {

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/018644b9/security-admin/src/main/webapp/scripts/views/reports/OperationDiffDetail.js
----------------------------------------------------------------------
diff --git 
a/security-admin/src/main/webapp/scripts/views/reports/OperationDiffDetail.js 
b/security-admin/src/main/webapp/scripts/views/reports/OperationDiffDetail.js
index 1b66728..5f6d156 100644
--- 
a/security-admin/src/main/webapp/scripts/views/reports/OperationDiffDetail.js
+++ 
b/security-admin/src/main/webapp/scripts/views/reports/OperationDiffDetail.js
@@ -27,9 +27,9 @@ define(function(require){
        var PolicyOperationDiff_tmpl            = 
require('hbs!tmpl/reports/PolicyOperationDiff_tmpl');
        var PolicyUpdateOperationDiff_tmpl      = 
require('hbs!tmpl/reports/PolicyUpdateOperationDiff_tmpl');
        var PolicyDeleteUpdateOperationDiff_tmpl        = 
require('hbs!tmpl/reports/PolicyDeleteOperationDiff_tmpl');
-       var KnoxPolicyOperationDiff_tmpl                = 
require('hbs!tmpl/reports/KnoxPolicyOperationDiff_tmpl');
-       var KnoxPolicyUpdateOperationDiff_tmpl  = 
require('hbs!tmpl/reports/KnoxPolicyUpdateOperationDiff_tmpl');
-       var KnoxPolicyDeleteUpdateOperationDiff_tmpl    = 
require('hbs!tmpl/reports/KnoxPolicyDeleteOperationDiff_tmpl');
+       var KnoxPolicyOperationDiff_tmpl                        = 
require('hbs!tmpl/reports/KnoxPolicyOperationDiff_tmpl');
+       var KnoxPolicyUpdateOperationDiff_tmpl          = 
require('hbs!tmpl/reports/KnoxPolicyUpdateOperationDiff_tmpl');
+       var KnoxPolicyDeleteUpdateOperationDiff_tmpl= 
require('hbs!tmpl/reports/KnoxPolicyDeleteOperationDiff_tmpl');
        var AssetOperationDiff_tmpl             = 
require('hbs!tmpl/reports/AssetOperationDiff_tmpl');
        var AssetUpdateOperationDiff_tmpl       = 
require('hbs!tmpl/reports/AssetUpdateOperationDiff_tmpl');
        var UserOperationDiff_tmpl                      = 
require('hbs!tmpl/reports/UserOperationDiff_tmpl');
@@ -76,7 +76,6 @@ define(function(require){
                                        newGroupList            : 
this.newGroupList,
                                        previousGroupList       : 
this.previousGroupList,
                                        isGroup                         : 
this.isGroup
-                               
                        });
                }
                
@@ -109,7 +108,6 @@ define(function(require){
                        
                        _.extend(this, _.pick(options, 
'classType','objectName','objectId','objectCreatedDate','action','userName'));
                        this.bindEvents();
-                       //this.initializeDiffOperation();
                        this.getTemplateForView();
                        
                },
@@ -126,7 +124,6 @@ define(function(require){
                        //remove last comma from Perms
                        _.each(this.ui.diff.find('ol li'),function(m){
                                var text = $(m).text().replace(/,(?=[^,]*$)/, 
'');
-                               //$(m).text(text);
                                $(m).find('span').last().remove();
                        });
                        _.each(this.ui.policyDiff.find('ol li'),function(m){
@@ -140,9 +137,9 @@ define(function(require){
                                
this.templateType=XAEnums.ClassTypes.CLASS_TYPE_XA_ASSET.value;
                                if(this.action == 'create'){
                                        this.template = AssetOperationDiff_tmpl;
-                               }else if(this.action == 'update'){
+                               } else if(this.action == 'update'){
                                        this.template = 
AssetUpdateOperationDiff_tmpl;
-                               }else{
+                               } else {
                                        this.template = AssetOperationDiff_tmpl;
                                }
                                this.assetDiffOperation();
@@ -151,9 +148,9 @@ define(function(require){
                                
this.templateType=XAEnums.ClassTypes.CLASS_TYPE_XA_RESOURCE.value;
                                if(this.action == 'create'){
                                        this.template = 
PolicyOperationDiff_tmpl;
-                               }else if(this.action == 'update'){
+                               } else if(this.action == 'update'){
                                        this.template = 
PolicyUpdateOperationDiff_tmpl;
-                               }else{
+                               } else{
                                        this.template = 
PolicyDeleteUpdateOperationDiff_tmpl;
                                }
                                this.resourceDiffOperation();
@@ -163,9 +160,9 @@ define(function(require){
                                        || this.classType == 
XAEnums.ClassTypes.CLASS_TYPE_PASSWORD_CHANGE.value){
                                if(this.action == 'create' || this.action == 
'delete'){
                                        this.template = UserOperationDiff_tmpl; 
-                               }else if(this.action == 'update' || this.action 
== "password change"){
+                               } else if(this.action == 'update' || 
this.action == "password change"){
                                        this.template = 
UserUpdateOperationDiff_tmpl;
-                               }else{
+                               } else{
                                        this.template = UserOperationDiff_tmpl;
                                }
                                this.userDiffOperation();
@@ -174,14 +171,11 @@ define(function(require){
                        if(this.classType == 
XAEnums.ClassTypes.CLASS_TYPE_XA_GROUP.value){
                                if(this.action == 'create'){
                                        this.template = GroupOperationDiff_tmpl;
-                                       //this.groupDiffOperation();
-                               }else if(this.action == 'update'){
+                               } else if(this.action == 'update'){
                                        this.template = 
GroupUpdateOperationDiff_tmpl;
-                               }else{
+                               } else{
                                        this.template = GroupOperationDiff_tmpl;
                                }
-                               //this.template=GroupUpdateOperationDiff_tmpl;
-                       //      this.groupDiffOperation();
                                this.templateType = 
XAEnums.ClassTypes.CLASS_TYPE_XA_GROUP.value;
                        } 
                },
@@ -210,8 +204,7 @@ define(function(require){
                        this.userList = [],this.groupList = [];
                        this.collection.each(function(m){
                                var attrName = m.get('attributeName'), type = 
'permType';
-                               if(attrName == "IP Address")
-                                       type = 'ipAddress';
+                               if(attrName == "IP Address")    type = 
'ipAddress';
                                if(m.get('attributeName') == 'Permission Type' 
|| m.get('attributeName') == "IP Address"){
                                        if(m.get('parentObjectClassType') == 
XAEnums.ClassTypes.CLASS_TYPE_XA_GROUP.value){
                                                if(m.get('action') != 'delete'){
@@ -231,8 +224,7 @@ define(function(require){
                                                }
                                                
if($.inArray(m.get('parentObjectName'),that.groupList) < 0)
                                                        
that.groupList.push(m.get('parentObjectName'));
-                                       }
-                                       else{
+                                       } else {
                                                if(m.get('action') != 'delete'){
                                                        if(m.get('action') == 
'create'){
                                                                var obj = 
{userName : m.get('parentObjectName')};
@@ -255,11 +247,12 @@ define(function(require){
                                        }
                                        modelColl.push(m);
                                        
-                               }else if(m.get('attributeName') == 'Repository 
Type'){
-                                       if(m.get('action') != 'delete')
+                               } else if(m.get('attributeName') == 'Repository 
Type'){
+                                       if(m.get('action') != 'delete'){
                                                that.repositoryType = 
m.get('newValue');
-                                       else
+                                       } else {
                                                that.repositoryType = 
m.get('previousValue');
+                                       }
                                        modelColl.push(m);
                                        if(that.repositoryType == 
XAEnums.AssetType.ASSET_KNOX.label && m.get('action') == 
"create")//XAEnums.AssetType.ASSET_KNOX.value)
                                                that.template = 
KnoxPolicyOperationDiff_tmpl;
@@ -267,15 +260,16 @@ define(function(require){
                                                that.template = 
KnoxPolicyUpdateOperationDiff_tmpl;
                                        if(that.repositoryType == 
XAEnums.AssetType.ASSET_KNOX.label && m.get('action') == "delete")
                                                that.template = 
KnoxPolicyDeleteUpdateOperationDiff_tmpl;
-                               }else if(m.get('attributeName') == 'Policy 
Name'){
-                                       if(m.get('action') != 'delete')
+                               } else if(m.get('attributeName') == 'Policy 
Name'){
+                                       if(m.get('action') != 'delete'){
                                                that.policyName = 
m.get('newValue');
-                                       else
+                                       } else {
                                                that.policyName = 
m.get('previousValue');
+                                       }
                                        if(m.get('newValue') == 
m.get('previousValue'))
                                                modelColl.push(m);
                                }
-                               
+                       
                                if(_.isUndefined(m.get('attributeName')))
                                        modelColl.push(m);
                        });
@@ -346,7 +340,7 @@ define(function(require){
                                        if(m.get('action') == 'delete' || 
m.get('action') == 'update')
                                                
that.previousGroupList.push(m.get('parentObjectName'));
                                        modelArr.push(m);
-                               }else if(m.get('attributeName') == 'User Role'){
+                               } else if(m.get('attributeName') == 'User 
Role'){
                                        var newRole =  
m.get('newValue').replace(/[[\]]/g,'');
                                        var prevRole = 
m.get('previousValue').replace(/[[\]]/g,'');
                                        if( newRole == "ROLE_USER")
@@ -361,13 +355,14 @@ define(function(require){
                                                
m.set('previousValue',XAEnums.UserRoles.ROLE_SYS_ADMIN.label)
                                        else if(prevRole == "ROLE_KEY_ADMIN")
                                                
m.set('previousValue',XAEnums.UserRoles.ROLE_KEY_ADMIN.label)
-                               }else{
+                               } else {
                                        if(!m.has('attributeName'))
                                                modelArr.push(m);
                                }
                        });
-                       if(!_.isEmpty(this.newGroupList) || 
!_.isEmpty(this.previousGroupList))
+                       if(!_.isEmpty(this.newGroupList) || 
!_.isEmpty(this.previousGroupList)){
                                this.isGroup = true;
+                       }
                        this.collection.remove(modelArr);
                },
                groupDiffOperation : function(){

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/018644b9/security-admin/src/main/webapp/scripts/views/reports/PlugableServiceDiffDetail.js
----------------------------------------------------------------------
diff --git 
a/security-admin/src/main/webapp/scripts/views/reports/PlugableServiceDiffDetail.js
 
b/security-admin/src/main/webapp/scripts/views/reports/PlugableServiceDiffDetail.js
index b65dff4..c9a0847 100644
--- 
a/security-admin/src/main/webapp/scripts/views/reports/PlugableServiceDiffDetail.js
+++ 
b/security-admin/src/main/webapp/scripts/views/reports/PlugableServiceDiffDetail.js
@@ -25,6 +25,7 @@ define(function(require){
        var XAEnums                                                     = 
require('utils/XAEnums');
        var XALinks                                                     = 
require('modules/XALinks');
        var XAUtils                                                     = 
require('utils/XAUtils');
+       
        var RangerPolicy                                        = 
require('models/RangerPolicy');
        var RangerService                                       = 
require('models/RangerService');
        var RangerServiceDef                            = 
require('models/RangerServiceDef');
@@ -82,7 +83,6 @@ define(function(require){
                        
                        _.extend(this, _.pick(options, 
'classType','objectName','objectId','objectCreatedDate','action','userName','policyId'));
                        this.bindEvents();
-                       //this.initializeDiffOperation();
                        this.initializeServiceDef();
                        this.getTemplateForView();
                        
@@ -91,15 +91,13 @@ define(function(require){
                        var url, policyName = 
this.collection.findWhere({'attributeName':'Policy Name'});
                        if(this.action == 'create'){
                                this.policyName = policyName.get('newValue');
-                       }else if(this.action == 'delete'){
+                       } else if(this.action == 'delete'){
                                this.policyName = 
policyName.get('previousValue');
                        }
                        if(!_.isUndefined(this.collection.models[0]) ){
                                this.policyName = 
_.isUndefined(this.policyName) ? this.collection.models[0].get('objectName') : 
this.policyName;
                                if(this.action != 'delete'){
-//                                     url = 
XAUtils.getRangerServiceByName(this.collection.models[0].get('parentObjectName'))
                                        var rangerService = new RangerService({ 
'id' : this.collection.models[0].get('parentObjectId') })
-//                                     rangerService.url = url;
                                        rangerService.fetch({
                                                cache : false,
                                                async : false
@@ -209,6 +207,7 @@ define(function(require){
                getPolicyResources : function() {
                        var policyResources = 
this.collection.findWhere({'attributeName':'Policy Resources'});
                        this.collection.remove(policyResources);
+                       
                        if(!_.isUndefined(policyResources.get('newValue')) && 
!_.isEmpty(policyResources.get('newValue'))){
                                var resources = {} ;
                                var resourceNewValues = 
JSON.parse(policyResources.get('newValue'));
@@ -249,13 +248,12 @@ define(function(require){
                        }
                        if(this.action == "update"){
                                _.each(resources,function(val, key){ 
-//                                     console.log(oldResources)
                                        if(val != oldResources[key])
                                                
this.collection.add({'attributeName':key, 
'newValue':val.toString(),'previousValue': oldResources[key],type : "Policy 
Resources"}); 
                                }, this)
-                       }else if(this.action == "create"){
+                       } else if(this.action == "create"){
                                _.each(resources,function(val, key){ 
this.collection.add({'attributeName':key, 'newValue':val.toString()}); }, this)
-                       }else{
+                       } else{
                                _.each(oldResources,function(val, key){ 
this.collection.add({'attributeName':key, 'previousValue':val.toString()}); }, 
this)
                        }
                },
@@ -263,6 +261,7 @@ define(function(require){
                        var items = {};
                        var policyItems = 
this.collection.findWhere({'attributeName':'Policy Items'});
                        this.collection.remove(policyItems);
+                       
                        if(!_.isUndefined(policyItems.get('newValue')) && 
!_.isEmpty(policyItems.get('newValue'))){
                                this.newPolicyItems = 
JSON.parse(policyItems.get('newValue'));
                                _.each(this.newPolicyItems, function(obj){
@@ -286,7 +285,7 @@ define(function(require){
                        this.oldPermList =[], this.newPermList =[]
                        if(this.action == "update"){
                                this.setOldeNewPermList();
-                       }else{
+                       } else {
                                this.oldPermList = this.oldPolicyItems;
                                this.newPermList = this.newPolicyItems;
                        }
@@ -330,8 +329,6 @@ define(function(require){
                                        this.newPermList.push({})
                                }
                        }
-                       console.log(this.oldPermList)
-                       console.log(this.newPermList)
                },
                /** all post render plugin initialization */
                initializePlugins: function(){

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/018644b9/security-admin/src/main/webapp/scripts/views/reports/UserAccessLayout.js
----------------------------------------------------------------------
diff --git 
a/security-admin/src/main/webapp/scripts/views/reports/UserAccessLayout.js 
b/security-admin/src/main/webapp/scripts/views/reports/UserAccessLayout.js
index ac05eba..63b5d35 100644
--- a/security-admin/src/main/webapp/scripts/views/reports/UserAccessLayout.js
+++ b/security-admin/src/main/webapp/scripts/views/reports/UserAccessLayout.js
@@ -78,13 +78,8 @@ define(function(require) {'use strict';
                /** ui events hash */
                events : function() {
                        var events = {};
-                       //events['change ' + this.ui.input]  = 'onInputChange';
                        events['click ' + this.ui.searchBtn]  = 'onSearch';
-                       //events["'change ' "+ this.ui.userName +"','" + 
this.ui.userGroup+"'"]  = 'onSearch';
-                       //events['change ' + this.ui.userName+ 
','+this.ui.userGroup+ ',' +this.ui.resourceName] = 'onSearch';
                        events['click .autoText']  = 'autocompleteFilter';
-                       
-                       //events['keydown ' + this.ui.userGroup]  = 
'groupKeyDown';
                        events['click .gotoLink']  = 'gotoTable';
                        events['click ' + this.ui.btnShowMore]  = 'onShowMore';
                        events['click ' + this.ui.btnShowLess]  = 'onShowLess';
@@ -101,7 +96,6 @@ define(function(require) {'use strict';
                        console.log("initialized a UserAccessLayout Layout");
                        _.extend(this, _.pick(options, 'groupList','userList'));
                        this.bindEvents();
-                       
                },
                initializeRequiredData : function() {
                        this.policyCollList = [];
@@ -116,7 +110,6 @@ define(function(require) {'use strict';
                },
                initializeServiceDef : function() {
                           this.serviceDefList = new RangerServiceDefList();
-//                        this.serviceDefList.queryParams.sortBy = 'id';
                           this.serviceDefList.fetch({
                                   cache : false,
                                   async:false
@@ -138,34 +131,18 @@ define(function(require) {'use strict';
                                this.renderTable(obj.collName, 
obj.serviceDefName);
                                
this.getResourceLists(obj.collName,obj.serviceDefName);
                        },this);
+                       this.$el.find('[data-js="policyName"]').focus()
                },
                
                getResourceLists: function(collName, serviceDefName){
                        var that = this, coll = this[collName];
                        coll.queryParams.serviceType = serviceDefName;
-               /*      if(!_.isUndefined(params)){
-                               _.each(params,function(val, attr){ 
-                                       if(!_.isUndefined(val) && 
!_.isEmpty(val)) 
-                                               coll.queryParams[attr] = val;
-                               });
-                       }*/
                        coll.fetch({
                                cache : false,
                                reset: true,
                                async:false,
                        }).done(function(){
-//                             console.log(coll);
                                coll.trigger('sync')
-//                             if(coll.queryParams.assetType == 
XAEnums.AssetType.ASSET_STORM.value){
-//                                     var totalRecords=0; 
-//                                     _.each(that.resourceList, function( 
list ){ totalRecords += list.state.totalRecords; });
-                                       
/*that.$('[data-js="searchResult"]').html('Total '+totalRecords+' records 
found.');
-                                       
that.$('[data-js="hdfsSearchResult"]').html(that.hdfsResourceList.state.totalRecords
 +' records found.');
-                                       
that.$('[data-js="hiveSearchResult"]').html(that.hiveResourceList.state.totalRecords
  +' records found.');
-                                       
that.$('[data-js="hbaseSearchResult"]').html(that.hbaseResourceList.state.totalRecords
 +' records found.');
-                                       
that.$('[data-js="knoxSearchResult"]').html(that.knoxResourceList.state.totalRecords
 +' records found.');
-                                       
that.$('[data-js="stormSearchResult"]').html(that.stormResourceList.state.totalRecords
 +' records found.');*/
-//                             }
                                XAUtil.blockUI('unblock');
                                
                        });
@@ -271,14 +248,6 @@ define(function(require) {'use strict';
                },
                /** on render callback */
                setupGroupAutoComplete : function(){
-                       //tags : true,
-                       /*width :'220px',
-                       multiple: true,
-                       minimumInputLength: 1,
-                       data :this.groupList.map(function(m) {
-                               //console.log(m);
-                               return {id : m.id,text : m.get('name')};
-                       }),*/
                        this.groupArr = this.groupList.map(function(m){
                                return { id : m.get('name') , text : 
m.get('name')};
                        });
@@ -293,8 +262,6 @@ define(function(require) {'use strict';
                                // tags : this.groupArr,
                                initSelection : function (element, callback) {
                                        var data = [];
-                                       console.log(that.groupList);
-                                       
                                        
$(element.val().split(",")).each(function () {
                                                var obj = 
_.findWhere(that.groupArr,{id:this}); 
                                                data.push({id: obj.text, text: 
obj.text});
@@ -329,7 +296,7 @@ define(function(require) {'use strict';
                                formatNoMatches: function(result){
                                        return 'No group found.';
                                }
-                       }).on('select2-focus', XAUtil.select2Focus);
+                       })//.on('select2-focus', XAUtil.select2Focus);
                },              
                setupUserAutoComplete : function(){
                        var that = this;
@@ -384,7 +351,7 @@ define(function(require) {'use strict';
                                        return 'No user found.';
                                }
                                
-                       }).on('select2-focus', XAUtil.select2Focus);
+                       })//.on('select2-focus', XAUtil.select2Focus);
                },
                /** all post render plugin initialization */
                initializePlugins : function() {
@@ -395,6 +362,7 @@ define(function(require) {'use strict';
                                if (wrap.hasClass('wrap') && ! 
wrap.hasClass('non-collapsible'))
                                        $(this).append('<a href="#" 
class="wrap-collapse pull-right">hide&nbsp;&nbsp;<i 
class="icon-caret-up"></i></a>').append('<a href="#" class="wrap-expand 
pull-right" style="display: none">show&nbsp;&nbsp;<i 
class="icon-caret-down"></i></a>');
                        });
+                       
                        // Collapse wrap
                        $(document).on("click", "a.wrap-collapse", function() {
                                var self = $(this).hide(100, 'linear');
@@ -413,7 +381,6 @@ define(function(require) {'use strict';
                        });
                        
                        this.ui.resourceName.bind( "keydown", function( event ) 
{
-
                                if ( event.keyCode === $.ui.keyCode.ENTER ) {
                                        that.onSearch();
                                }
@@ -422,7 +389,6 @@ define(function(require) {'use strict';
                },
                onSearch : function(e){
                        var that = this, type;
-                       // XAUtil.blockUI();
                        //Get search values
                        var groups = (this.ui.userGroup.is(':visible')) ? 
this.ui.userGroup.select2('val'):undefined;
                        var users = (this.ui.userName.is(':visible')) ? 
this.ui.userName.select2('val'):undefined;
@@ -459,7 +425,6 @@ define(function(require) {'use strict';
                                this.setupUserAutoComplete();
                                $button.text('Username');
                        }
-                       //this.onSearch();
                },
                gotoTable : function(e){
                        var that = this, elem = $(e.currentTarget),pos;

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/018644b9/security-admin/src/main/webapp/scripts/views/service/ConfigurationList.js
----------------------------------------------------------------------
diff --git 
a/security-admin/src/main/webapp/scripts/views/service/ConfigurationList.js 
b/security-admin/src/main/webapp/scripts/views/service/ConfigurationList.js
index 598db83..dcc85ab 100644
--- a/security-admin/src/main/webapp/scripts/views/service/ConfigurationList.js
+++ b/security-admin/src/main/webapp/scripts/views/service/ConfigurationList.js
@@ -91,13 +91,11 @@ define(function(require) {
                },
                initialize : function(options) {
                        _.extend(this, _.pick(options, 'fieldLabel'));
-//                                     this.listenTo(this.groupList, 'sync', 
this.render, this);
-                                       if(this.collection.length == 0)
-                                               this.collection.add(new 
Backbone.Model());
+                       if(this.collection.length == 0){
+                               this.collection.add(new Backbone.Model());
+                       }
                },
                onRender : function(){
-//                     this.$('table').hide();
-                       
                },
                addNew : function(){
                        var that =this;


Reply via email to