Skip to content

Commit 1159d68

Browse files
committed
MAGETWO-91433: ProductListing: Grid view is getting changed to List view when user adding product from wishlist section.
1 parent 919dd8c commit 1159d68

File tree

8 files changed

+45
-26
lines changed

8 files changed

+45
-26
lines changed

app/code/Magento/Wishlist/Controller/Index/Remove.php

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
use Magento\Framework\Exception\NotFoundException;
1111
use Magento\Framework\Controller\ResultFactory;
1212
use Magento\Wishlist\Controller\WishlistProviderInterface;
13+
use Magento\Wishlist\Model\Item;
1314

1415
/**
1516
* @SuppressWarnings(PHPMD.CouplingBetweenObjects)
@@ -56,7 +57,8 @@ public function execute()
5657
}
5758

5859
$id = (int)$this->getRequest()->getParam('item');
59-
$item = $this->_objectManager->create(\Magento\Wishlist\Model\Item::class)->load($id);
60+
/** @var Item $item */
61+
$item = $this->_objectManager->create(Item::class)->load($id);
6062
if (!$item->getId()) {
6163
throw new NotFoundException(__('Page not found.'));
6264
}
@@ -67,6 +69,12 @@ public function execute()
6769
try {
6870
$item->delete();
6971
$wishlist->save();
72+
$this->messageManager->addComplexSuccessMessage(
73+
'removeWishlistItemSuccessMessage',
74+
[
75+
'product_name' => $item->getProduct()->getName()
76+
]
77+
);
7078
} catch (\Magento\Framework\Exception\LocalizedException $e) {
7179
$this->messageManager->addError(
7280
__('We can\'t delete the item from Wish List right now because of an error: %1.', $e->getMessage())
@@ -76,13 +84,8 @@ public function execute()
7684
}
7785

7886
$this->_objectManager->get(\Magento\Wishlist\Helper\Data::class)->calculate();
79-
$request = $this->getRequest();
80-
$refererUrl = (string)$request->getServer('HTTP_REFERER');
81-
$url = (string)$request->getParam(\Magento\Framework\App\Response\RedirectInterface::PARAM_NAME_REFERER_URL);
82-
if ($url) {
83-
$refererUrl = $url;
84-
}
85-
if ($request->getParam(\Magento\Framework\App\ActionInterface::PARAM_NAME_URL_ENCODED) && $refererUrl) {
87+
$refererUrl = $this->_redirect->getRefererUrl();
88+
if ($refererUrl) {
8689
$redirectUrl = $refererUrl;
8790
} else {
8891
$redirectUrl = $this->_redirect->getRedirectUrl($this->_url->getUrl('*/*'));

app/code/Magento/Wishlist/CustomerData/Wishlist.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -135,8 +135,8 @@ protected function getItemData(\Magento\Wishlist\Model\Item $wishlistItem)
135135
),
136136
'product_is_saleable_and_visible' => $product->isSaleable() && $product->isVisibleInSiteVisibility(),
137137
'product_has_required_options' => $product->getTypeInstance()->hasRequiredOptions($product),
138-
'add_to_cart_params' => $this->wishlistHelper->getAddToCartParams($wishlistItem, true),
139-
'delete_item_params' => $this->wishlistHelper->getRemoveParams($wishlistItem, true),
138+
'add_to_cart_params' => $this->wishlistHelper->getAddToCartParams($wishlistItem),
139+
'delete_item_params' => $this->wishlistHelper->getRemoveParams($wishlistItem),
140140
];
141141
}
142142

app/code/Magento/Wishlist/Helper/Data.php

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -284,9 +284,12 @@ public function getRemoveParams($item, $addReferer = false)
284284
{
285285
$url = $this->_getUrl('wishlist/index/remove');
286286
$params = ['item' => $item->getWishlistItemId()];
287+
$params[ActionInterface::PARAM_NAME_URL_ENCODED] = '';
288+
287289
if ($addReferer) {
288290
$params = $this->addRefererToParams($params);
289291
}
292+
290293
return $this->_postDataHelper->getPostData($url, $params);
291294
}
292295

@@ -395,9 +398,12 @@ public function getAddToCartUrl($item)
395398
public function getAddToCartParams($item, $addReferer = false)
396399
{
397400
$params = $this->_getCartUrlParameters($item);
401+
$params[ActionInterface::PARAM_NAME_URL_ENCODED] = '';
402+
398403
if ($addReferer) {
399404
$params = $this->addRefererToParams($params);
400405
}
406+
401407
return $this->_postDataHelper->getPostData(
402408
$this->_getUrlStore($item)->getUrl('wishlist/index/cart'),
403409
$params

app/code/Magento/Wishlist/Test/Unit/Controller/Index/RemoveTest.php

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -312,13 +312,11 @@ public function testExecuteCanNotSaveWishlist()
312312
->with(\Magento\Wishlist\Model\Item::class)
313313
->willReturn($item);
314314

315-
$this->request
316-
->expects($this->once())
317-
->method('getServer')
318-
->with('HTTP_REFERER')
315+
$this->redirect
316+
->method('getRefererUrl')
317+
->with()
319318
->willReturn($referer);
320319
$this->request
321-
->expects($this->exactly(3))
322320
->method('getParam')
323321
->willReturnMap(
324322
[
@@ -398,12 +396,6 @@ public function testExecuteCanNotSaveWishlistAndWithRedirect()
398396
->willReturn($item);
399397

400398
$this->request
401-
->expects($this->once())
402-
->method('getServer')
403-
->with('HTTP_REFERER')
404-
->willReturn($referer);
405-
$this->request
406-
->expects($this->exactly(3))
407399
->method('getParam')
408400
->willReturnMap(
409401
[

app/code/Magento/Wishlist/Test/Unit/CustomerData/WishlistTest.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -237,11 +237,11 @@ public function testGetSectionData()
237237

238238
$this->wishlistHelperMock->expects($this->once())
239239
->method('getAddToCartParams')
240-
->with($itemMock, true)
240+
->with($itemMock)
241241
->willReturn($itemAddParams);
242242
$this->wishlistHelperMock->expects($this->once())
243243
->method('getRemoveParams')
244-
->with($itemMock, true)
244+
->with($itemMock)
245245
->willReturn($itemRemoveParams);
246246

247247
$this->assertEquals($result, $this->model->getSectionData());
@@ -435,11 +435,11 @@ public function testGetSectionDataWithTwoItems()
435435

436436
$this->wishlistHelperMock->expects($this->exactly(2))
437437
->method('getAddToCartParams')
438-
->with($itemMock, true)
438+
->with($itemMock)
439439
->willReturn($itemAddParams);
440440
$this->wishlistHelperMock->expects($this->exactly(2))
441441
->method('getRemoveParams')
442-
->with($itemMock, true)
442+
->with($itemMock)
443443
->willReturn($itemRemoveParams);
444444

445445
$this->assertEquals($result, $this->model->getSectionData());

app/code/Magento/Wishlist/Test/Unit/Helper/DataTest.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -248,6 +248,7 @@ public function testGetAddToCartParams()
248248
$expected = [
249249
'item' => $wishlistItemId,
250250
'qty' => $wishlistItemQty,
251+
ActionInterface::PARAM_NAME_URL_ENCODED => '',
251252
];
252253
$this->postDataHelper->expects($this->once())
253254
->method('getPostData')
@@ -333,7 +334,7 @@ public function testGetRemoveParams()
333334

334335
$this->postDataHelper->expects($this->once())
335336
->method('getPostData')
336-
->with($url, ['item' => $wishlistItemId])
337+
->with($url, ['item' => $wishlistItemId, ActionInterface::PARAM_NAME_URL_ENCODED => ''])
337338
->willReturn($url);
338339

339340
$this->assertEquals($url, $this->model->getRemoveParams($this->wishlistItem));

app/code/Magento/Wishlist/etc/frontend/di.xml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,12 @@
4444
<item name="template" xsi:type="string">Magento_Wishlist::messages/addProductSuccessMessage.phtml</item>
4545
</item>
4646
</item>
47+
<item name="removeWishlistItemSuccessMessage" xsi:type="array">
48+
<item name="renderer" xsi:type="const">\Magento\Framework\View\Element\Message\Renderer\BlockRenderer::CODE</item>
49+
<item name="data" xsi:type="array">
50+
<item name="template" xsi:type="string">Magento_Wishlist::messages/removeWishlistItemSuccessMessage.phtml</item>
51+
</item>
52+
</item>
4753
</argument>
4854
</arguments>
4955
</type>
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<?php
2+
/**
3+
* Copyright © Magento, Inc. All rights reserved.
4+
* See COPYING.txt for license details.
5+
*/
6+
// @codingStandardsIgnoreFile
7+
/** @var \Magento\Framework\View\Element\Template $block */
8+
?>
9+
10+
<?= $block->escapeHtml(__('%1 has been removed from your Wish List.', $block->getData('product_name'))); ?>
11+

0 commit comments

Comments
 (0)