diff --git a/app/code/Magento/Backend/Block/Store/Switcher.php b/app/code/Magento/Backend/Block/Store/Switcher.php index 2989da19b9f043273ea1100be6a51af11e302d4f..cd15704952b23ee9f53d93f3e5b32ec63efffb3c 100644 --- a/app/code/Magento/Backend/Block/Store/Switcher.php +++ b/app/code/Magento/Backend/Block/Store/Switcher.php @@ -8,8 +8,6 @@ namespace Magento\Backend\Block\Store; /** * Store switcher block - * - * @SuppressWarnings(PHPMD.CouplingBetweenObjects) */ class Switcher extends \Magento\Backend\Block\Template { @@ -152,11 +150,7 @@ class Switcher extends \Magento\Backend\Block\Template { $websites = $this->_storeManager->getWebsites(); if ($websiteIds = $this->getWebsiteIds()) { - foreach (array_keys($websites) as $websiteId) { - if (!in_array($websiteId, $websiteIds)) { - unset($websites[$websiteId]); - } - } + $websites = array_intersect_key($websites, array_flip($websiteIds)); } return $websites; } diff --git a/app/code/Magento/Backend/Test/Unit/Block/Store/SwitcherTest.php b/app/code/Magento/Backend/Test/Unit/Block/Store/SwitcherTest.php new file mode 100644 index 0000000000000000000000000000000000000000..a4ba16ea1bdaa92343e5eb7258ea8b6695a3a061 --- /dev/null +++ b/app/code/Magento/Backend/Test/Unit/Block/Store/SwitcherTest.php @@ -0,0 +1,53 @@ +<?php +/** + * Copyright © 2016 Magento. All rights reserved. + * See COPYING.txt for license details. + */ + +namespace Magento\Backend\Test\Unit\Block\Store; + +class SwitcherTest extends \PHPUnit_Framework_TestCase +{ + /** + * @var \Magento\Backend\Block\Store\Switcher + */ + private $switcherBlock; + + private $storeManagerMock; + + protected function setUp() + { + $this->storeManagerMock = $this->getMock(\Magento\Store\Model\StoreManagerInterface::class); + $objectHelper = new \Magento\Framework\TestFramework\Unit\Helper\ObjectManager($this); + $context = $objectHelper->getObject( + \Magento\Backend\Block\Template\Context::class, + [ + 'storeManager' => $this->storeManagerMock, + ] + ); + + $this->switcherBlock = $objectHelper->getObject( + \Magento\Backend\Block\Store\Switcher::class, + ['context' => $context] + ); + } + + public function testGetWebsites() + { + $websiteMock = $this->getMock(\Magento\Store\Model\Website::class, [], [], '', false); + $websites = [0 => $websiteMock, 1 => $websiteMock]; + $this->storeManagerMock->expects($this->once())->method('getWebsites')->will($this->returnValue($websites)); + $this->assertEquals($websites, $this->switcherBlock->getWebsites()); + } + + public function testGetWebsitesIfSetWebsiteIds() + { + $websiteMock = $this->getMock(\Magento\Store\Model\Website::class, [], [], '', false); + $websites = [0 => $websiteMock, 1 => $websiteMock]; + $this->storeManagerMock->expects($this->once())->method('getWebsites')->will($this->returnValue($websites)); + + $this->switcherBlock->setWebsiteIds([1]); + $expected = [1 => $websiteMock]; + $this->assertEquals($expected, $this->switcherBlock->getWebsites()); + } +} diff --git a/app/code/Magento/Catalog/view/frontend/templates/product/view/form.phtml b/app/code/Magento/Catalog/view/frontend/templates/product/view/form.phtml index 7de546bd8780d602760e8b94fb4c43b499b4950d..41f0684a4312693be3be9b7eecedcb8a6fe3b8e1 100644 --- a/app/code/Magento/Catalog/view/frontend/templates/product/view/form.phtml +++ b/app/code/Magento/Catalog/view/frontend/templates/product/view/form.phtml @@ -42,7 +42,9 @@ 'jquery', 'priceBox' ], function($){ - var priceBoxes = $('[data-role=priceBox]'); + var dataPriceBoxSelector = '[data-role=priceBox]', + dataProductIdSelector = '[data-product-id=<?php echo $block->escapeHtml($_product->getId())?>]', + priceBoxes = $(dataPriceBoxSelector + dataProductIdSelector); priceBoxes = priceBoxes.filter(function(index, elem){ return !$(elem).find('.price-from').length; diff --git a/app/code/Magento/Catalog/view/frontend/templates/product/view/options.phtml b/app/code/Magento/Catalog/view/frontend/templates/product/view/options.phtml index 97f844067f0688d86dc0c233fae38adef76baf98..9da72303f068d923a8abda4d8e43ccff28fef0c8 100644 --- a/app/code/Magento/Catalog/view/frontend/templates/product/view/options.phtml +++ b/app/code/Magento/Catalog/view/frontend/templates/product/view/options.phtml @@ -10,6 +10,7 @@ ?> <?php $_options = $block->decorateArray($block->getOptions()) ?> +<?php $_productId = $block->getProduct()->getId() ?> <?php if (count($_options)):?> <script type="text/x-magento-init"> { @@ -17,7 +18,7 @@ "priceOptions": { "optionConfig": <?php /* @escapeNotVerified */ echo $block->getJsonConfig()?>, "controlContainer": ".field", - "priceHolderSelector": "[data-role=priceBox]" + "priceHolderSelector": "[data-product-id='<?php echo $block->escapeHtml($_productId)?>'][data-role=priceBox]" } } } diff --git a/app/code/Magento/Sales/view/frontend/templates/order/history.phtml b/app/code/Magento/Sales/view/frontend/templates/order/history.phtml index 47ea803530f142d77c240972cdce6881448f5149..c900b72af5556c32bc0d1a6a14b123a4ab4a5ee9 100644 --- a/app/code/Magento/Sales/view/frontend/templates/order/history.phtml +++ b/app/code/Magento/Sales/view/frontend/templates/order/history.phtml @@ -42,7 +42,10 @@ <span><?php /* @escapeNotVerified */ echo __('View Order') ?></span> </a> <?php if ($this->helper('Magento\Sales\Helper\Reorder')->canReorder($_order->getEntityId())) : ?> - <a href="<?php /* @escapeNotVerified */ echo $block->getReorderUrl($_order) ?>" class="action order"> + <a href="#" data-post='<?php /* @escapeNotVerified */ echo + $this->helper(\Magento\Framework\Data\Helper\PostHelper::class) + ->getPostData($block->getReorderUrl($_order)) + ?>' class="action order"> <span><?php /* @escapeNotVerified */ echo __('Reorder') ?></span> </a> <?php endif ?> diff --git a/app/code/Magento/Sales/view/frontend/templates/order/info/buttons.phtml b/app/code/Magento/Sales/view/frontend/templates/order/info/buttons.phtml index 2e1145662c3f885fbf17c015f799ac6f76a9839c..9643bd2267622f81662b2f2e1c9184c6ce6a6da0 100644 --- a/app/code/Magento/Sales/view/frontend/templates/order/info/buttons.phtml +++ b/app/code/Magento/Sales/view/frontend/templates/order/info/buttons.phtml @@ -10,7 +10,10 @@ <div class="actions"> <?php $_order = $block->getOrder() ?> <?php if ($this->helper('Magento\Sales\Helper\Reorder')->canReorder($_order->getEntityId())) : ?> - <a class="action reorder" href="<?php /* @escapeNotVerified */ echo $block->getReorderUrl($_order) ?>"> + <a href="#" data-post='<?php /* @escapeNotVerified */ echo + $this->helper(\Magento\Framework\Data\Helper\PostHelper::class) + ->getPostData($block->getReorderUrl($_order)) + ?>' class="action order"> <span><?php /* @escapeNotVerified */ echo __('Reorder') ?></span> </a> <?php endif ?> diff --git a/app/code/Magento/Sales/view/frontend/templates/order/recent.phtml b/app/code/Magento/Sales/view/frontend/templates/order/recent.phtml index b351fb6c86d540076e71c71052551c801626b2a1..caf8a4abd2cd8d34d201e26a4fb7fa9a0966fce3 100644 --- a/app/code/Magento/Sales/view/frontend/templates/order/recent.phtml +++ b/app/code/Magento/Sales/view/frontend/templates/order/recent.phtml @@ -46,7 +46,10 @@ <span><?php /* @escapeNotVerified */ echo __('View Order') ?></span> </a> <?php if ($this->helper('Magento\Sales\Helper\Reorder')->canReorder($_order->getEntityId())) : ?> - <a href="<?php /* @escapeNotVerified */ echo $block->getReorderUrl($_order) ?>" class="action order"> + <a href="#" data-post='<?php /* @escapeNotVerified */ echo + $this->helper(\Magento\Framework\Data\Helper\PostHelper::class) + ->getPostData($block->getReorderUrl($_order)) + ?>' class="action order"> <span><?php /* @escapeNotVerified */ echo __('Reorder') ?></span> </a> <?php endif ?> diff --git a/app/code/Magento/Swatches/view/frontend/layout/catalogsearch_advanced_result.xml b/app/code/Magento/Swatches/view/frontend/layout/catalogsearch_advanced_result.xml new file mode 100644 index 0000000000000000000000000000000000000000..3b17bac8e15404b00c380c173b9bb776ebe3a4e1 --- /dev/null +++ b/app/code/Magento/Swatches/view/frontend/layout/catalogsearch_advanced_result.xml @@ -0,0 +1,17 @@ +<?xml version="1.0"?> +<!-- +/** + * Copyright © 2016 Magento. All rights reserved. + * See COPYING.txt for license details. + */ +--> +<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd"> + <head> + <css src="Magento_Swatches::css/swatches.css"/> + </head> + <body> + <referenceBlock name="category.product.type.details.renderers"> + <block class="Magento\Swatches\Block\Product\Renderer\Listing\Configurable" as="configurable" template="Magento_Swatches::product/listing/renderer.phtml" /> + </referenceBlock> + </body> +</page> diff --git a/lib/web/tiny_mce/plugins/advimage/js/image.js b/lib/web/tiny_mce/plugins/advimage/js/image.js index 7e3cf00eb003cccd55d17524d14030522f7ec3ff..821806409863e5cd9debab3249c1c658ba1c68f3 100644 --- a/lib/web/tiny_mce/plugins/advimage/js/image.js +++ b/lib/web/tiny_mce/plugins/advimage/js/image.js @@ -184,6 +184,7 @@ var ImageDialog = { tinyMCEPopup.editor.execCommand('mceRepaint'); tinyMCEPopup.editor.focus(); tinyMCEPopup.close(); + ed.onChange.dispatch(ed); }, getAttrib : function(e, at) {