Skip to content

Commit 3dc0be2

Browse files
author
Joan He
committed
Merge remote-tracking branch 'upstream/develop' into develop
2 parents 1e41306 + 0f051a0 commit 3dc0be2

File tree

66 files changed

+1447
-748
lines changed

Some content is hidden

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

66 files changed

+1447
-748
lines changed

app/code/Magento/Backend/Model/View/Result/Page.php

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,11 @@ public function setActiveMenu($itemId)
7676
*/
7777
public function addBreadcrumb($label, $title, $link = null)
7878
{
79-
$this->layout->getBlock('breadcrumbs')->addLink($label, $title, $link);
79+
/** @var \Magento\Backend\Block\Widget\Breadcrumbs $block */
80+
$block = $this->layout->getBlock('breadcrumbs');
81+
if ($block) {
82+
$block->addLink($label, $title, $link);
83+
}
8084
return $this;
8185
}
8286

Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
<?php
2+
/**
3+
* Copyright © 2015 Magento. All rights reserved.
4+
* See COPYING.txt for license details.
5+
*/
6+
namespace Magento\Backend\Test\Unit\Model\View\Result;
7+
8+
use Magento\Framework\TestFramework\Unit\Helper\ObjectManager as ObjectManagerHelper;
9+
10+
class PageTest extends \PHPUnit_Framework_TestCase
11+
{
12+
/**
13+
* @var \Magento\Backend\Model\View\Result\Page
14+
*/
15+
protected $resultPage;
16+
17+
/**
18+
* @var \Magento\Framework\View\Element\Template\Context
19+
*/
20+
protected $context;
21+
22+
/**
23+
* @var \Magento\Framework\TestFramework\Unit\Helper\ObjectManager
24+
*/
25+
protected $objectManagerHelper;
26+
27+
/**
28+
* @var \Magento\Framework\View\LayoutInterface|\PHPUnit_Framework_MockObject_MockObject
29+
*/
30+
protected $layoutMock;
31+
32+
/**
33+
* @var \Magento\Backend\Block\Widget\Breadcrumbs|\PHPUnit_Framework_MockObject_MockObject
34+
*/
35+
protected $breadcrumbsBlockMock;
36+
37+
protected function setUp()
38+
{
39+
$this->layoutMock = $this->getMockBuilder('Magento\Framework\View\LayoutInterface')
40+
->setMethods(['setGeneratorPool'])
41+
->getMockForAbstractClass();
42+
$this->breadcrumbsBlockMock = $this->getMockBuilder('Magento\Backend\Block\Widget\Breadcrumbs')
43+
->disableOriginalConstructor()
44+
->getMock();
45+
46+
$this->objectManagerHelper = new ObjectManagerHelper($this);
47+
$this->context = $this->objectManagerHelper->getObject(
48+
'Magento\Framework\View\Element\Template\Context',
49+
['layout' => $this->layoutMock]
50+
);
51+
$this->resultPage = $this->objectManagerHelper->getObject(
52+
'Magento\Backend\Model\View\Result\Page',
53+
['context' => $this->context]
54+
);
55+
}
56+
57+
public function testAddBreadcrumb()
58+
{
59+
$label = 'label';
60+
$title = 'title';
61+
$link = '/link';
62+
63+
$this->layoutMock->expects($this->once())
64+
->method('getBlock')
65+
->with('breadcrumbs')
66+
->willReturn($this->breadcrumbsBlockMock);
67+
$this->breadcrumbsBlockMock->expects($this->once())
68+
->method('addLink')
69+
->with($label, $title, $link)
70+
->willReturnSelf();
71+
72+
$this->assertSame($this->resultPage, $this->resultPage->addBreadcrumb($label, $title, $link));
73+
}
74+
75+
public function testAddBreadcrumbNoBlock()
76+
{
77+
$label = 'label';
78+
$title = 'title';
79+
80+
$this->layoutMock->expects($this->once())
81+
->method('getBlock')
82+
->with('breadcrumbs')
83+
->willReturn(false);
84+
$this->breadcrumbsBlockMock->expects($this->never())
85+
->method('addLink');
86+
87+
$this->assertSame($this->resultPage, $this->resultPage->addBreadcrumb($label, $title));
88+
}
89+
}

app/code/Magento/Backend/view/adminhtml/layout/admin_login.xml

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,15 +9,14 @@
99
<update handle="styles" />
1010
<body>
1111
<!-- @todo ui: - delete after bugfix -->
12-
<remove name="legal"/>
13-
<remove name="page.menu"/>
14-
<remove name="header"/>
15-
<remove name="page.title"/>
16-
<remove name="user"/>
17-
<remove name="header.wrapper.scope"/>
12+
<referenceContainer name="legal" remove="true"/>
13+
<referenceContainer name="page.menu" remove="true"/>
14+
<referenceContainer name="header" remove="true"/>
15+
<referenceBlock name="page.title" remove="true"/>
16+
<referenceBlock name="user" remove="true"/>
1817

19-
<remove name="global.search"/>
20-
<remove name="notification.messages"/>
18+
<referenceBlock name="global.search" remove="true"/>
19+
<referenceBlock name="notification.messages" remove="true"/>
2120
<!-- @todo ui: - end -->
2221

2322
<move element="messages" destination="login.content" before="-"/>

app/code/Magento/Backend/view/adminhtml/layout/popup.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
-->
88
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../../lib/internal/Magento/Framework/View/Layout/etc/page_configuration.xsd">
99
<body>
10-
<remove name="header"/>
11-
<remove name="menu"/>
10+
<referenceContainer name="header" remove="true"/>
11+
<referenceBlock name="menu" remove="true"/>
1212
</body>
1313
</page>

app/code/Magento/Catalog/Controller/Adminhtml/Product/Attribute.php

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,9 +73,10 @@ public function dispatch(\Magento\Framework\App\RequestInterface $request)
7373
}
7474

7575
/**
76+
* @param \Magento\Framework\Phrase|null $title
7677
* @return \Magento\Backend\Model\View\Result\Page
7778
*/
78-
protected function createActionPage()
79+
protected function createActionPage($title = null)
7980
{
8081
/** @var \Magento\Backend\Model\View\Result\Page $resultPage */
8182
$resultPage = $this->resultPageFactory->create();
@@ -91,6 +92,9 @@ protected function createActionPage()
9192
$resultPage->addBreadcrumb(__('Catalog'), __('Catalog'))
9293
->addBreadcrumb(__('Manage Product Attributes'), __('Manage Product Attributes'))
9394
->setActiveMenu('Magento_Catalog::catalog_attributes_attributes');
95+
if (!empty($title)) {
96+
$resultPage->addBreadcrumb($title, $title);
97+
}
9498
}
9599
$resultPage->getConfig()->getTitle()->prepend(__('Product Attributes'));
96100
return $resultPage;

app/code/Magento/Catalog/Controller/Adminhtml/Product/Attribute/Edit.php

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,9 +52,8 @@ public function execute()
5252

5353
$item = $id ? __('Edit Product Attribute') : __('New Product Attribute');
5454

55-
$resultPage = $this->createActionPage();
55+
$resultPage = $this->createActionPage($item);
5656
$resultPage->getConfig()->getTitle()->prepend($id ? $model->getName() : __('New Product Attribute'));
57-
$resultPage->addBreadcrumb($item, $item);
5857
$resultPage->getLayout()
5958
->getBlock('attribute_edit_js')
6059
->setIsPopup((bool)$this->getRequest()->getParam('popup'));

0 commit comments

Comments
 (0)