AMBARI-13624 Ranger Smart config: Filtering a config shows Ranger Admin and 
Ranger Audit tab incorrectly active. (ababiichuk)


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/e593c5ae
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/e593c5ae
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/e593c5ae

Branch: refs/heads/trunk
Commit: e593c5ae3c8861978fe373c61155955d0409164e
Parents: cf9eb74
Author: aBabiichuk <[email protected]>
Authored: Thu Oct 29 11:36:18 2015 +0200
Committer: aBabiichuk <[email protected]>
Committed: Thu Oct 29 11:40:58 2015 +0200

----------------------------------------------------------------------
 .../app/models/configs/theme/sub_section.js      |  4 +++-
 .../app/models/configs/theme/sub_section_tab.js  |  4 +++-
 ambari-web/test/models/configs/section_test.js   | 19 +++++++++++++------
 .../test/models/configs/sub_section_test.js      | 11 ++++++++---
 4 files changed, 27 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/e593c5ae/ambari-web/app/models/configs/theme/sub_section.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/models/configs/theme/sub_section.js 
b/ambari-web/app/models/configs/theme/sub_section.js
index ed3c7a2..ce26a3c 100644
--- a/ambari-web/app/models/configs/theme/sub_section.js
+++ b/ambari-web/app/models/configs/theme/sub_section.js
@@ -182,7 +182,9 @@ App.SubSection = DS.Model.extend({
    * @type {boolean}
    */
   isHiddenByFilter: function () {
-    var configs = this.get('configs');
+    var configs = this.get('configs').filter(function(c) {
+      return !c.get('hiddenBySection') && c.get('isVisible');
+    });
     return configs.length ? configs.everyProperty('isHiddenByFilter', true) : 
false;
   }.property('[email protected]'),
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/e593c5ae/ambari-web/app/models/configs/theme/sub_section_tab.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/models/configs/theme/sub_section_tab.js 
b/ambari-web/app/models/configs/theme/sub_section_tab.js
index ca42aeb..d5d5349 100644
--- a/ambari-web/app/models/configs/theme/sub_section_tab.js
+++ b/ambari-web/app/models/configs/theme/sub_section_tab.js
@@ -76,7 +76,9 @@ App.SubSectionTab = DS.Model.extend({
    * @type {boolean}
    */
   isHiddenByFilter: function () {
-    var configs = this.get('configs');
+    var configs = this.get('configs').filter(function(c) {
+      return !c.get('hiddenBySection') && c.get('isVisible');
+    });
     return configs.length ? configs.everyProperty('isHiddenByFilter', true) : 
false;
   }.property('[email protected]'),
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/e593c5ae/ambari-web/test/models/configs/section_test.js
----------------------------------------------------------------------
diff --git a/ambari-web/test/models/configs/section_test.js 
b/ambari-web/test/models/configs/section_test.js
index 055c532..967534e 100644
--- a/ambari-web/test/models/configs/section_test.js
+++ b/ambari-web/test/models/configs/section_test.js
@@ -56,24 +56,31 @@ describe('App.Section', function () {
         },
         {
           subSections: [
-            App.SubSection.createRecord({configs: [{isHiddenByFilter: false, 
isVisible: true}, {isHiddenByFilter: false, isVisible: true}]}),
-            App.SubSection.createRecord({configs: [{isHiddenByFilter: false, 
isVisible: true}, {isHiddenByFilter: false, isVisible: true}]})
+            App.SubSection.createRecord({configs: 
[Em.Object.create({isHiddenByFilter: false, isVisible: true}), 
Em.Object.create({isHiddenByFilter: false, isVisible: true})]}),
+            App.SubSection.createRecord({configs: 
[Em.Object.create({isHiddenByFilter: false, isVisible: true}), 
Em.Object.create({isHiddenByFilter: false, isVisible: true})]})
           ],
           m: 'no subsections are hidden',
           e: false
         },
         {
           subSections: [
-            App.SubSection.createRecord({configs: [{isHiddenByFilter: true, 
isVisible: true}, {isHiddenByFilter: true, isVisible: true}]}),
-            App.SubSection.createRecord({configs: [{isHiddenByFilter: false, 
isVisible: true}, {isHiddenByFilter: false, isVisible: true}]})
+            App.SubSection.createRecord({configs: 
[Em.Object.create({isHiddenByFilter: true, isVisible: false, hiddenBySection: 
false}), Em.Object.create({isHiddenByFilter: true, isVisible: true, 
hiddenBySection: true})]})
+          ],
+          m: 'no subsections are hidden (hiddenBySection)',
+          e: false
+        },
+        {
+          subSections: [
+            App.SubSection.createRecord({configs: 
[Em.Object.create({isHiddenByFilter: true, isVisible: true}), 
Em.Object.create({isHiddenByFilter: true, isVisible: true})]}),
+            App.SubSection.createRecord({configs: 
[Em.Object.create({isHiddenByFilter: false, isVisible: true}), 
Em.Object.create({isHiddenByFilter: false, isVisible: true})]})
           ],
           m: 'one subsection is hidden',
           e: false
         },
         {
           subSections: [
-            App.SubSection.createRecord({configs: [{isHiddenByFilter: true, 
isVisible: true}, {isHiddenByFilter: true, isVisible: true}]}),
-            App.SubSection.createRecord({configs: [{isHiddenByFilter: true, 
isVisible: true}, {isHiddenByFilter: true, isVisible: true}]})
+            App.SubSection.createRecord({configs: 
[Em.Object.create({isHiddenByFilter: true, isVisible: true}), 
Em.Object.create({isHiddenByFilter: true, isVisible: true})]}),
+            App.SubSection.createRecord({configs: 
[Em.Object.create({isHiddenByFilter: true, isVisible: true}), 
Em.Object.create({isHiddenByFilter: true, isVisible: true})]})
           ],
           m: 'all subsections are hidden',
           e: true

http://git-wip-us.apache.org/repos/asf/ambari/blob/e593c5ae/ambari-web/test/models/configs/sub_section_test.js
----------------------------------------------------------------------
diff --git a/ambari-web/test/models/configs/sub_section_test.js 
b/ambari-web/test/models/configs/sub_section_test.js
index cf394e5..1e1e356 100644
--- a/ambari-web/test/models/configs/sub_section_test.js
+++ b/ambari-web/test/models/configs/sub_section_test.js
@@ -62,17 +62,22 @@ describe('App.SubSection', function () {
           m: 'Can\'t be hidden if there is no configs'
         },
         {
-          configs: [{isHiddenByFilter: true}, {isHiddenByFilter: true}],
+          configs: [Em.Object.create({isHiddenByFilter: true, isVisible: 
true}), Em.Object.create({isHiddenByFilter: true, isVisible: true})],
           e: true,
           m: 'All configs are hidden'
         },
         {
-          configs: [{isHiddenByFilter: false}, {isHiddenByFilter: true}],
+          configs: [Em.Object.create({isHiddenByFilter: false, isVisible: 
true}), Em.Object.create({isHiddenByFilter: true, isVisible: true})],
           e: false,
           m: 'Some configs are hidden'
         },
         {
-          configs: [{isHiddenByFilter: false}, {isHiddenByFilter: false}],
+          configs: [Em.Object.create({isHiddenByFilter: false, isVisible: 
true}), Em.Object.create({isHiddenByFilter: true, isVisible: true})],
+          e: false,
+          m: 'Some configs are hidden'
+        },
+        {
+          configs: [Em.Object.create({isHiddenByFilter: false, isVisible: 
true}), Em.Object.create({isHiddenByFilter: false, isVisible: true})],
           e: false,
           m: 'No configs are hidden'
         }

Reply via email to