Skip to content

Commit b57605e

Browse files
author
Dmytro Aponasenko
committed
Merge branch 'develop' of https://github.corp.ebay.com/magento2/magento2ce into develop
2 parents 19e6f6a + e9378e4 commit b57605e

File tree

86 files changed

+1588
-1230
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

86 files changed

+1588
-1230
lines changed

app/code/Magento/Catalog/Model/Observer.php

Lines changed: 29 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -149,27 +149,10 @@ protected function _addCategoriesToMenu($categories, $parentCategoryNode, $block
149149
if (!$category->getIsActive()) {
150150
continue;
151151
}
152-
153-
$nodeId = 'category-node-' . $category->getId();
154-
155152
$block->addIdentity(\Magento\Catalog\Model\Category::CACHE_TAG . '_' . $category->getId());
156153

157154
$tree = $parentCategoryNode->getTree();
158-
159-
$isActiveCategory = false;
160-
/** @var \Magento\Catalog\Model\Category $currentCategory */
161-
$currentCategory = $this->_registry->registry('current_category');
162-
if ($currentCategory && $currentCategory->getId() == $category->getId()) {
163-
$isActiveCategory = true;
164-
}
165-
166-
$categoryData = [
167-
'name' => $category->getName(),
168-
'id' => $nodeId,
169-
'url' => $this->_catalogCategory->getCategoryUrl($category),
170-
'has_active' => $this->hasActive($category),
171-
'is_active' => $isActiveCategory
172-
];
155+
$categoryData = $this->getMenuCategoryData($category);
173156
$categoryNode = new \Magento\Framework\Data\Tree\Node($categoryData, 'id', $tree, $parentCategoryNode);
174157
$parentCategoryNode->addChild($categoryNode);
175158

@@ -183,6 +166,34 @@ protected function _addCategoriesToMenu($categories, $parentCategoryNode, $block
183166
}
184167
}
185168

169+
/**
170+
* Get category data to be added to the Menu
171+
*
172+
* @param \Magento\Framework\Data\Tree\Node $category
173+
* @return array
174+
*/
175+
public function getMenuCategoryData($category)
176+
{
177+
$nodeId = 'category-node-' . $category->getId();
178+
179+
$isActiveCategory = false;
180+
/** @var \Magento\Catalog\Model\Category $currentCategory */
181+
$currentCategory = $this->_registry->registry('current_category');
182+
if ($currentCategory && $currentCategory->getId() == $category->getId()) {
183+
$isActiveCategory = true;
184+
}
185+
186+
$categoryData = [
187+
'name' => $category->getName(),
188+
'id' => $nodeId,
189+
'url' => $this->_catalogCategory->getCategoryUrl($category),
190+
'has_active' => $this->hasActive($category),
191+
'is_active' => $isActiveCategory,
192+
];
193+
194+
return $categoryData;
195+
}
196+
186197
/**
187198
* Checks whether category belongs to active category's path
188199
*

app/code/Magento/Catalog/Test/Unit/Model/ObserverTest.php

Lines changed: 27 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,27 +18,27 @@ class ObserverTest extends \PHPUnit_Framework_TestCase
1818
protected $_observer;
1919

2020
/**
21-
* @var \Magento\Catalog\Helper\Category
21+
* @var \PHPUnit_Framework_MockObject_MockObject|\Magento\Catalog\Helper\Category
2222
*/
2323
protected $_catalogCategory;
2424

2525
/**
26-
* @var \Magento\Catalog\Model\Category
26+
* @var \PHPUnit_Framework_MockObject_MockObject|\Magento\Catalog\Model\Category
2727
*/
2828
protected $_category;
2929

3030
/**
31-
* @var \Magento\Catalog\Model\Category
31+
* @var \PHPUnit_Framework_MockObject_MockObject|\Magento\Catalog\Model\Category
3232
*/
3333
protected $_childrenCategory;
3434

3535
/**
36-
* @var \Magento\Catalog\Model\Indexer\Category\Flat\State
36+
* @var \PHPUnit_Framework_MockObject_MockObject|\Magento\Catalog\Model\Indexer\Category\Flat\State
3737
*/
3838
protected $_categoryFlatState;
3939

4040
/**
41-
* @var \Magento\Store\Model\StoreManagerInterface
41+
* @var \PHPUnit_Framework_MockObject_MockObject|\Magento\Store\Model\StoreManagerInterface
4242
*/
4343
protected $_storeManager;
4444

@@ -64,11 +64,13 @@ public function setUp()
6464
->disableOriginalConstructor()
6565
->getMock();
6666

67+
$layerResolver = $this->_getCleanMock('Magento\Catalog\Model\Layer\Resolver');
68+
$layerResolver->expects($this->once())->method('get')->willReturn(null);
6769
$this->_observer = (new ObjectManager($this))->getObject('Magento\Catalog\Model\Observer', [
6870
'categoryResource' => $this->_getCleanMock('\Magento\Catalog\Model\Resource\Category'),
6971
'catalogProduct' => $this->_getCleanMock('\Magento\Catalog\Model\Resource\Product'),
7072
'storeManager' => $this->_storeManager,
71-
'catalogLayer' => $this->_getCleanMock('\Magento\Catalog\Model\Layer\Category'),
73+
'layerResolver' => $layerResolver,
7274
'indexIndexer' => $this->_getCleanMock('\Magento\Index\Model\Indexer'),
7375
'catalogCategory' => $this->_catalogCategory,
7476
'catalogData' => $this->_getCleanMock('\Magento\Catalog\Helper\Data'),
@@ -176,4 +178,23 @@ public function testAddCatalogToTopMenuItemsWithFlat()
176178

177179
$this->_observer->addCatalogToTopmenuItems($observer);
178180
}
181+
182+
public function testGetMenuCategoryData()
183+
{
184+
$category = $this->getMock('Magento\Catalog\Model\Category', ['getId', 'getName'], [], '', false);
185+
$category->expects($this->once())->method('getId')->willReturn('id');
186+
$category->expects($this->once())->method('getName')->willReturn('name');
187+
$this->_catalogCategory->expects($this->once())->method('getCategoryUrl')->willReturn('url');
188+
189+
$this->assertEquals(
190+
[
191+
'name' => 'name',
192+
'id' => 'category-node-id',
193+
'url' => 'url',
194+
'is_active' => false,
195+
'has_active' => false,
196+
],
197+
$this->_observer->getMenuCategoryData($category)
198+
);
199+
}
179200
}

app/code/Magento/Catalog/view/adminhtml/templates/catalog/product/attribute/options.phtml

Lines changed: 6 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@
5858
<td id="delete_button_container_<%- data.id %>" class="col-delete">
5959
<input type="hidden" class="delete-flag" name="option[delete][<%- data.id %>]" value="" />
6060
<?php if (!$block->getReadOnly() && !$block->canManageOptionDefaultOnly()):?>
61-
<button title="<?php echo __('Delete') ?>" type="button"
61+
<button id="delete_button_<%- data.id %>" title="<?php echo __('Delete') ?>" type="button"
6262
class="action- scalable delete delete-option"
6363
>
6464
<span><?php echo __('Delete') ?></span>
@@ -100,7 +100,6 @@ require([
100100
if (isNewOption && !this.isReadOnly) {
101101
this.enableNewOptionDeleteButton(data.id);
102102
}
103-
this.bindRemoveButtons();
104103
this.itemCount++;
105104
this.totalItems++;
106105
this.updateItemsCountField();
@@ -139,22 +138,16 @@ require([
139138
button.removeClassName('disabled');
140139
});
141140
},
142-
bindRemoveButtons: function() {
143-
var buttons = $$('.delete-option');
144-
for (var i = 0; i < buttons.length; i++) {
145-
if (!$(buttons[i]).binded) {
146-
$(buttons[i]).binded = true;
147-
Event.observe(buttons[i], 'click', this.remove.bind(this));
148-
}
149-
}
150-
}
151141
};
152142

153-
attributeOption.bindRemoveButtons();
154-
155143
if ($('add_new_option_button')) {
156144
Event.observe('add_new_option_button', 'click', attributeOption.add.bind(attributeOption));
157145
}
146+
147+
$('manage-options-panel').on('click', '.delete-option', function(event, element) {
148+
attributeOption.remove(event);
149+
});
150+
158151
<?php foreach ($block->getOptionValues() as $_value): ?>
159152
attributeOption.add(<?php echo $_value->toJson() ?>);
160153
<?php endforeach; ?>

app/code/Magento/Catalog/view/adminhtml/web/catalog/category/form.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ define([
5757
if (response.error) {
5858
alert(response.message);
5959
} else {
60-
if (this.element.find(this.options.categoryIdSelector).prop('value') === response.id) {
60+
if (this.element.find(this.options.categoryIdSelector).prop('value') == response.id) {
6161
this.element.find(this.options.categoryPathSelector)
6262
.prop('value', response.path);
6363
}

app/code/Magento/Developer/Model/View/Layout/Plugin.php

Lines changed: 0 additions & 61 deletions
This file was deleted.

app/code/Magento/Developer/etc/di.xml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,6 @@
1010
<type name="Magento\Framework\View\TemplateEngineFactory">
1111
<plugin name="debug_hints" type="Magento\Developer\Model\TemplateEngine\Plugin\DebugHints" sortOrder="10"/>
1212
</type>
13-
<type name="Magento\Framework\View\Layout">
14-
<plugin name="exception_handler" type="Magento\Developer\Model\View\Layout\Plugin" sortOrder="10"/>
15-
</type>
1613
<type name="Magento\Framework\View\Result\Page">
1714
<arguments>
1815
<argument name="pageConfigRendererFactory" xsi:type="object">Magento\Developer\Model\View\Page\Config\RendererFactory</argument>

app/code/Magento/GroupedProduct/Controller/Adminhtml/Edit/Popup.php

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,18 @@
11
<?php
22
/**
3-
*
43
* Copyright © 2015 Magento. All rights reserved.
54
* See COPYING.txt for license details.
65
*/
76
namespace Magento\GroupedProduct\Controller\Adminhtml\Edit;
87

9-
class Popup extends \Magento\Backend\App\AbstractAction
8+
use Magento\Backend\App\AbstractAction;
9+
use Magento\Backend\App\Action\Context;
10+
use Magento\Framework\Registry;
11+
use Magento\Catalog\Model\ProductFactory;
12+
use Psr\Log\LoggerInterface;
13+
use Magento\Framework\Controller\ResultFactory;
14+
15+
class Popup extends AbstractAction
1016
{
1117
/**
1218
* @var \Magento\Framework\Registry
@@ -30,10 +36,10 @@ class Popup extends \Magento\Backend\App\AbstractAction
3036
* @param \Psr\Log\LoggerInterface $logger
3137
*/
3238
public function __construct(
33-
\Magento\Backend\App\Action\Context $context,
34-
\Magento\Framework\Registry $registry,
35-
\Magento\Catalog\Model\ProductFactory $factory,
36-
\Psr\Log\LoggerInterface $logger
39+
Context $context,
40+
Registry $registry,
41+
ProductFactory $factory,
42+
LoggerInterface $logger
3743
) {
3844
$this->registry = $registry;
3945
$this->factory = $factory;
@@ -54,7 +60,7 @@ protected function _isAllowed()
5460
/**
5561
* Get associated grouped products grid popup
5662
*
57-
* @return void
63+
* @return \Magento\Framework\View\Result\Layout
5864
*/
5965
public function execute()
6066
{
@@ -84,8 +90,8 @@ public function execute()
8490
$product->setAttributeSetId($setId);
8591
}
8692
$this->registry->register('current_product', $product);
87-
88-
$this->_view->loadLayout(false);
89-
$this->_view->renderLayout();
93+
/** @var \Magento\Framework\View\Result\Layout $resultLayout */
94+
$resultLayout = $this->resultFactory->create(ResultFactory::TYPE_LAYOUT);
95+
return $resultLayout;
9096
}
9197
}

0 commit comments

Comments
 (0)