From 6d41c1ee21de5c5a0212cc77de3a9542e876dc2d Mon Sep 17 00:00:00 2001
From: Yaroslav Onischenko <yonischenko@magento.com>
Date: Fri, 19 Feb 2016 15:59:25 +0200
Subject: [PATCH] MAGETWO-49389: Category permission "deny" doesn't hide
 category

---
 .../Observer/AddCatalogToTopmenuItemsObserver.php |  2 +-
 .../AddCatalogToTopmenuItemsObserverTest.php      | 15 +++++++++++----
 .../view/adminhtml/ui_component/category_form.xml |  4 ++--
 3 files changed, 14 insertions(+), 7 deletions(-)

diff --git a/app/code/Magento/Catalog/Observer/AddCatalogToTopmenuItemsObserver.php b/app/code/Magento/Catalog/Observer/AddCatalogToTopmenuItemsObserver.php
index 8dab4df1c13..8721fd3e7e9 100644
--- a/app/code/Magento/Catalog/Observer/AddCatalogToTopmenuItemsObserver.php
+++ b/app/code/Magento/Catalog/Observer/AddCatalogToTopmenuItemsObserver.php
@@ -149,7 +149,7 @@ class AddCatalogToTopmenuItemsObserver implements ObserverInterface
         $collection->addAttributeToSelect('name');
         $collection->addFieldToFilter('path', ['like' => '1/' . $rootId . '/%']); //load only from store root
         $collection->addAttributeToFilter('include_in_menu', 1);
-        $collection->addAttributeToFilter('is_active', 1);
+        $collection->addIsActiveFilter();
         $collection->addUrlRewriteToResult();
         $collection->addOrder('level', Collection::SORT_ORDER_ASC);
         $collection->addOrder('position', Collection::SORT_ORDER_ASC);
diff --git a/app/code/Magento/Catalog/Test/Unit/Observer/AddCatalogToTopmenuItemsObserverTest.php b/app/code/Magento/Catalog/Test/Unit/Observer/AddCatalogToTopmenuItemsObserverTest.php
index e0eb21a8bba..a8c8405730b 100644
--- a/app/code/Magento/Catalog/Test/Unit/Observer/AddCatalogToTopmenuItemsObserverTest.php
+++ b/app/code/Magento/Catalog/Test/Unit/Observer/AddCatalogToTopmenuItemsObserverTest.php
@@ -81,9 +81,18 @@ class AddCatalogToTopmenuItemsObserverTest extends \PHPUnit_Framework_TestCase
             ->getMock();
 
         $collection =  $this->getMockBuilder('\Magento\Catalog\Model\ResourceModel\Category\Collection')
-            ->disableOriginalConstructor()
+            ->setMethods(
+                [
+                    'addIsActiveFilter',
+                    'addAttributeToSelect',
+                    'addFieldToFilter',
+                    'addAttributeToFilter',
+                    'addUrlRewriteToResult',
+                    'getIterator'
+                ]
+            )->disableOriginalConstructor()
             ->getMock();
-
+        $collection->expects($this->once())->method('addIsActiveFilter');
         $collectionFactory->expects($this->once())->method('create')
             ->willReturn($collection);
 
@@ -151,6 +160,4 @@ class AddCatalogToTopmenuItemsObserverTest extends \PHPUnit_Framework_TestCase
         $observer = $this->_preparationData();
         $this->_observer->execute($observer);
     }
-
-
 }
diff --git a/app/code/Magento/Catalog/view/adminhtml/ui_component/category_form.xml b/app/code/Magento/Catalog/view/adminhtml/ui_component/category_form.xml
index f0c892107d4..9ac91f9d5c2 100644
--- a/app/code/Magento/Catalog/view/adminhtml/ui_component/category_form.xml
+++ b/app/code/Magento/Catalog/view/adminhtml/ui_component/category_form.xml
@@ -252,8 +252,8 @@
                     <item name="label" xsi:type="string" translate="true">Anchor</item>
                     <item name="prefer" xsi:type="string">toggle</item>
                     <item name="valueMap" xsi:type="array">
-                        <item name="true" xsi:type="boolean">true</item>
-                        <item name="false" xsi:type="boolean">false</item>
+                        <item name="true" xsi:type="number">1</item>
+                        <item name="false" xsi:type="number">0</item>
                     </item>
                 </item>
             </argument>
-- 
GitLab