Skip to content

Commit 814639b

Browse files
authored
ENGCOM-8211: [Fixed] - resolve issue with filter visibility with column visibility in grid #28385
2 parents 17603f2 + 2538135 commit 814639b

File tree

36 files changed

+384
-245
lines changed

36 files changed

+384
-245
lines changed

app/code/Magento/Bundle/view/adminhtml/ui_component/bundle_product_listing.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@
5858
<label translate="true">Status</label>
5959
<dataScope>status</dataScope>
6060
<imports>
61-
<link name="visible">componentType = column, index = ${ $.index }:visible</link>
61+
<link name="visible">ns = ${ $.ns }, index = ${ $.index }:visible</link>
6262
</imports>
6363
</settings>
6464
</filterSelect>

app/code/Magento/CatalogGraphQl/DataProvider/Product/LayeredNavigation/AttributeOptionProvider.php

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,13 @@ public function getOptions(array $optionIds, ?int $storeId, array $attributeCode
6464
'attribute_label' => 'a.frontend_label',
6565
]
6666
)
67+
->joinLeft(
68+
['attribute_label' => $this->resourceConnection->getTableName('eav_attribute_label')],
69+
"a.attribute_id = attribute_label.attribute_id AND attribute_label.store_id = {$storeId}",
70+
[
71+
'attribute_store_label' => 'attribute_label.value',
72+
]
73+
)
6774
->joinLeft(
6875
['options' => $this->resourceConnection->getTableName('eav_attribute_option')],
6976
'a.attribute_id = options.attribute_id',
@@ -119,7 +126,8 @@ private function formatResult(\Magento\Framework\DB\Select $select): array
119126
$result[$option['attribute_code']] = [
120127
'attribute_id' => $option['attribute_id'],
121128
'attribute_code' => $option['attribute_code'],
122-
'attribute_label' => $option['attribute_label'],
129+
'attribute_label' => $option['attribute_store_label']
130+
? $option['attribute_store_label'] : $option['attribute_label'],
123131
'options' => [],
124132
];
125133
}

app/code/Magento/Cms/view/adminhtml/ui_component/cms_block_listing.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@
6464
<label translate="true">Store View</label>
6565
<dataScope>store_id</dataScope>
6666
<imports>
67-
<link name="visible">componentType = column, index = ${ $.index }:visible</link>
67+
<link name="visible">ns = ${ $.ns }, index = ${ $.index }:visible</link>
6868
</imports>
6969
</settings>
7070
</filterSelect>

app/code/Magento/Cms/view/adminhtml/ui_component/cms_page_listing.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@
6969
<label translate="true">Store View</label>
7070
<dataScope>store_id</dataScope>
7171
<imports>
72-
<link name="visible">componentType = column, index = ${ $.index }:visible</link>
72+
<link name="visible">ns = ${ $.ns }, index = ${ $.index }:visible</link>
7373
</imports>
7474
</settings>
7575
</filterSelect>

app/code/Magento/ConfigurableProduct/view/adminhtml/ui_component/configurable_associated_product_listing.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@
5858
<label translate="true">Status</label>
5959
<dataScope>status</dataScope>
6060
<imports>
61-
<link name="visible">componentType = column, index = ${ $.index }:visible</link>
61+
<link name="visible">ns = ${ $.ns }, index = ${ $.index }:visible</link>
6262
</imports>
6363
</settings>
6464
</filterSelect>

app/code/Magento/Customer/Test/Mftf/Section/AdminCustomerAddressGridMainActionsSection.xml

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

app/code/Magento/Customer/Test/Mftf/Section/AdminCustomerGridMainActionsSection.xml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,9 @@
1313
<element name="multicheck" type="checkbox" selector="#container>div>div.admin__data-grid-wrap>table>thead>tr>th.data-grid-multicheck-cell>div>label"/>
1414
<element name="multicheckTick" type="checkbox" selector="#container>div>div.admin__data-grid-wrap>table>thead>tr>th.data-grid-multicheck-cell>div>input"/>
1515
<element name="delete" type="button" selector="//*[contains(@class, 'admin__data-grid-header')]//span[contains(@class,'action-menu-item') and text()='Delete']"/>
16-
<element name="actions" type="text" selector=".action-select"/>
1716
<element name="customerCheckbox" type="button" selector="//*[contains(text(),'{{arg}}')]/parent::td/preceding-sibling::td/label[@class='data-grid-checkbox-cell-inner']//input" parameterized="true"/>
1817
<element name="ok" type="button" selector="//button[@data-role='action']//span[text()='OK']"/>
18+
<element name="addNewAddress" type="button" selector=".add-new-address-button" timeout="30"/>
19+
<element name="actions" type="text" selector=".admin__data-grid-header-row .action-select"/>
1920
</section>
2021
</sections>

app/code/Magento/GroupedProduct/view/adminhtml/ui_component/grouped_product_listing.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@
5858
<label translate="true">Status</label>
5959
<dataScope>status</dataScope>
6060
<imports>
61-
<link name="visible">componentType = column, index = ${ $.index }:visible</link>
61+
<link name="visible">ns = ${ $.ns }, index = ${ $.index }:visible</link>
6262
</imports>
6363
</settings>
6464
</filterSelect>
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!--
3+
/**
4+
* Copyright © Magento, Inc. All rights reserved.
5+
* See COPYING.txt for license details.
6+
*/
7+
-->
8+
9+
<actionGroups xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
10+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/actionGroupSchema.xsd">
11+
<actionGroup name="AdminSelectFieldToColumnActionGroup">
12+
<annotations>
13+
<description>Select or clear the checkbox to display the column on the Orders grid page.</description>
14+
</annotations>
15+
<arguments>
16+
<argument name="column" type="string" defaultValue="Purchase Point"/>
17+
</arguments>
18+
<click selector="{{AdminOrdersGridSection.columnsDropdown}}" stepKey="openColumnsDropdown" />
19+
<click selector="{{AdminOrdersGridSection.viewColumnCheckbox(column)}}" stepKey="disableColumn"/>
20+
<click selector="{{AdminOrdersGridSection.columnsDropdown}}" stepKey="closeColumnsDropdown" />
21+
</actionGroup>
22+
</actionGroups>

app/code/Magento/Sales/Test/Mftf/Section/AdminOrdersGridSection.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
<element name="idFilter" type="input" selector=".admin__data-grid-filters input[name='increment_id']"/>
1919
<element name="selectStatus" type="select" selector="select[name='status']" timeout="60"/>
2020
<element name="billToNameFilter" type="input" selector=".admin__data-grid-filters input[name='billing_name']"/>
21+
<element name="purchasePoint" type="select" selector=".admin__data-grid-filters select[name='store_id']"/>
2122
<element name="enabledFilters" type="block" selector=".admin__data-grid-header .admin__data-grid-filters-current._show"/>
2223
<element name="clearFilters" type="button" selector=".admin__data-grid-header [data-action='grid-filter-reset']" timeout="30"/>
2324
<element name="applyFilters" type="button" selector="button[data-action='grid-filter-apply']" timeout="30"/>
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!--
3+
/**
4+
* Copyright © Magento, Inc. All rights reserved.
5+
* See COPYING.txt for license details.
6+
*/
7+
-->
8+
9+
<tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
10+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd">
11+
<test name="AdminVerifyFieldToFilterOnOrdersGridTest">
12+
<annotations>
13+
<features value="Sales"/>
14+
<stories value="Github issue: #28385 Resolve issue with filter visibility with column visibility in grid"/>
15+
<title value="Verify field to filter"/>
16+
<description value="Verify not appear fields to filter on Orders grid if it disables in columns dropdown."/>
17+
<severity value="MAJOR"/>
18+
</annotations>
19+
20+
<before>
21+
<actionGroup ref="AdminLoginActionGroup" stepKey="loginAsAdmin" />
22+
</before>
23+
24+
<after>
25+
<actionGroup ref="AdminLogoutActionGroup" stepKey="logout" />
26+
</after>
27+
28+
<actionGroup ref="AdminOrdersGridClearFiltersActionGroup" stepKey="goToOrders"/>
29+
<actionGroup ref="AdminSelectFieldToColumnActionGroup" stepKey="unSelectPurchasePoint" />
30+
<click selector="{{AdminOrdersGridSection.filters}}" stepKey="openColumnsDropdown" />
31+
<dontSeeElement selector="{{AdminOrdersGridSection.purchasePoint}}" stepKey="dontSeeElement"/>
32+
33+
<click selector="{{AdminOrdersGridSection.filters}}" stepKey="closeColumnsDropdown" />
34+
<actionGroup ref="AdminSelectFieldToColumnActionGroup" stepKey="selectPurchasePoint" />
35+
<click selector="{{AdminOrdersGridSection.filters}}" stepKey="openColumnsDropdown2" />
36+
<seeElement selector="{{AdminOrdersGridSection.purchasePoint}}" stepKey="seeElement"/>
37+
</test>
38+
</tests>

app/code/Magento/Sales/view/adminhtml/ui_component/sales_order_creditmemo_grid.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@
4242
<label translate="true">Purchased From</label>
4343
<dataScope>store_id</dataScope>
4444
<imports>
45-
<link name="visible">componentType = column, index = ${ $.index }:visible</link>
45+
<link name="visible">ns = ${ $.ns }, index = ${ $.index }:visible</link>
4646
</imports>
4747
</settings>
4848
</filterSelect>

app/code/Magento/Sales/view/adminhtml/ui_component/sales_order_grid.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@
5353
<label translate="true">Purchase Point</label>
5454
<dataScope>store_id</dataScope>
5555
<imports>
56-
<link name="visible">ns = ${ $.ns }, componentType = column, index = ${ $.index }:visible</link>
56+
<link name="visible">ns = ${ $.ns }, index = ${ $.index }:visible</link>
5757
</imports>
5858
</settings>
5959
</filterSelect>

app/code/Magento/Sales/view/adminhtml/ui_component/sales_order_invoice_grid.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@
4242
<label translate="true">Purchased From</label>
4343
<dataScope>store_id</dataScope>
4444
<imports>
45-
<link name="visible">componentType = column, index = ${ $.index }:visible</link>
45+
<link name="visible">ns = ${ $.ns }, index = ${ $.index }:visible</link>
4646
</imports>
4747
</settings>
4848
</filterSelect>

app/code/Magento/Sales/view/adminhtml/ui_component/sales_order_shipment_grid.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@
4242
<label translate="true">Purchased From</label>
4343
<dataScope>store_id</dataScope>
4444
<imports>
45-
<link name="visible">ns = ${ $.ns }, componentType = column, index = ${ $.index }:visible</link>
45+
<link name="visible">ns = ${ $.ns }, index = ${ $.index }:visible</link>
4646
</imports>
4747
</settings>
4848
</filterSelect>

app/code/Magento/Sales/view/adminhtml/ui_component/sales_order_view_creditmemo_grid.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@
5151
<label translate="true">Purchased From</label>
5252
<dataScope>store_id</dataScope>
5353
<imports>
54-
<link name="visible">ns = ${ $.ns }, componentType = column, index = ${ $.index }:visible</link>
54+
<link name="visible">ns = ${ $.ns }, index = ${ $.index }:visible</link>
5555
</imports>
5656
</settings>
5757
</filterSelect>

app/code/Magento/Sales/view/adminhtml/ui_component/sales_order_view_invoice_grid.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@
5151
<label translate="true">Purchased From</label>
5252
<dataScope>store_id</dataScope>
5353
<imports>
54-
<link name="visible">ns = ${ $.ns }, componentType = column, index = ${ $.index }:visible</link>
54+
<link name="visible">ns = ${ $.ns }, index = ${ $.index }:visible</link>
5555
</imports>
5656
</settings>
5757
</filterSelect>

app/code/Magento/Sales/view/adminhtml/ui_component/sales_order_view_shipment_grid.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@
5151
<label translate="true">Purchased From</label>
5252
<dataScope>store_id</dataScope>
5353
<imports>
54-
<link name="visible">ns = ${ $.ns }, componentType = column, index = ${ $.index }:visible</link>
54+
<link name="visible">ns = ${ $.ns }, index = ${ $.index }:visible</link>
5555
</imports>
5656
</settings>
5757
</filterSelect>

app/code/Magento/Search/view/adminhtml/ui_component/search_synonyms_grid.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@
6565
<label translate="true">Store View</label>
6666
<dataScope>store_id</dataScope>
6767
<imports>
68-
<link name="visible">ns = ${ $.ns }, componentType = column, index = ${ $.index }:visible</link>
68+
<link name="visible">ns = ${ $.ns }, index = ${ $.index }:visible</link>
6969
</imports>
7070
</settings>
7171
</filterSelect>
@@ -76,7 +76,7 @@
7676
<label translate="true">Website</label>
7777
<dataScope>website_id</dataScope>
7878
<imports>
79-
<link name="visible">ns = ${ $.ns }, componentType = column, index = ${ $.index }:visible</link>
79+
<link name="visible">ns = ${ $.ns }, index = ${ $.index }:visible</link>
8080
</imports>
8181
</settings>
8282
</filterSelect>

app/code/Magento/User/Test/Mftf/Section/AdminDeleteRoleSection.xml

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

app/code/Magento/User/Test/Mftf/Section/AdminDeleteUserSection.xml

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

app/code/Magento/User/Test/Mftf/Section/AdminRoleGridSection/AdminDeleteRoleSection.xml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,8 @@
99
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Page/etc/SectionObject.xsd">
1010
<section name="AdminDeleteRoleSection">
1111
<element name="theRole" selector="//td[contains(text(), 'Role')]" type="button"/>
12-
<element name="role" parameterized="true" selector="//td[contains(text(), '{{args}}')]" type="button"/>
12+
<element name="salesRole" selector="//td[contains(text(), 'Sales')]" type="button"/>
13+
<element name="role" parameterized="true" selector="//td[contains(@class,'col-role_name') and contains(text(), '{{roleName}}')]" type="button"/>
1314
<element name="current_pass" type="button" selector="#current_password"/>
1415
<element name="delete" selector="//button/span[contains(text(), 'Delete Role')]" type="button"/>
1516
<element name="confirm" selector="//*[@class='action-primary action-accept']" type="button"/>

app/code/Magento/User/Test/Mftf/Section/AdminUserGridSection/AdminDeleteUserSection.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
<element name="theUser" selector="//td[contains(text(), '{{userName}}')]" type="button" parameterized="true"/>
1212
<element name="password" selector="#user_current_password" type="input"/>
1313
<element name="delete" selector="//button/span[contains(text(), 'Delete User')]" type="button"/>
14-
<element name="confirm" selector="//*[@class='action-primary action-accept']" type="button"/>
14+
<element name="confirm" selector=".action-primary.action-accept" type="button"/>
1515
<element name="role" parameterized="true" selector="//td[contains(text(), '{{args}}')]" type="button"/>
1616
</section>
1717
</sections>

app/code/Magento/Wishlist/Model/Wishlist/RemoveProductsFromWishlist.php

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77

88
namespace Magento\Wishlist\Model\Wishlist;
99

10+
use Magento\Framework\Exception\LocalizedException;
1011
use Magento\Wishlist\Model\Item as WishlistItem;
1112
use Magento\Wishlist\Model\ItemFactory as WishlistItemFactory;
1213
use Magento\Wishlist\Model\ResourceModel\Item as WishlistItemResource;
@@ -63,7 +64,7 @@ public function __construct(
6364
public function execute(Wishlist $wishlist, array $wishlistItemsIds): WishlistOutput
6465
{
6566
foreach ($wishlistItemsIds as $wishlistItemId) {
66-
$this->removeItemFromWishlist((int) $wishlistItemId);
67+
$this->removeItemFromWishlist((int) $wishlistItemId, $wishlist);
6768
}
6869

6970
return $this->prepareOutput($wishlist);
@@ -73,12 +74,22 @@ public function execute(Wishlist $wishlist, array $wishlistItemsIds): WishlistOu
7374
* Remove product item from wishlist
7475
*
7576
* @param int $wishlistItemId
77+
* @param Wishlist $wishlist
7678
*
7779
* @return void
7880
*/
79-
private function removeItemFromWishlist(int $wishlistItemId): void
81+
private function removeItemFromWishlist(int $wishlistItemId, Wishlist $wishlist): void
8082
{
8183
try {
84+
if ($wishlist->getItem($wishlistItemId) == null) {
85+
throw new LocalizedException(
86+
__(
87+
'The wishlist item with ID "%id" does not belong to the wishlist',
88+
['id' => $wishlistItemId]
89+
)
90+
);
91+
}
92+
$wishlist->getItemCollection()->clear();
8293
/** @var WishlistItem $wishlistItem */
8394
$wishlistItem = $this->wishlistItemFactory->create();
8495
$this->wishlistItemResource->load($wishlistItem, $wishlistItemId);
@@ -90,6 +101,8 @@ private function removeItemFromWishlist(int $wishlistItemId): void
90101
}
91102

92103
$this->wishlistItemResource->delete($wishlistItem);
104+
} catch (LocalizedException $exception) {
105+
$this->addError($exception->getMessage());
93106
} catch (\Exception $e) {
94107
$this->addError(
95108
__(

app/code/Magento/Wishlist/Model/Wishlist/UpdateProductsInWishlist.php

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,15 @@ public function execute(Wishlist $wishlist, array $wishlistItems): WishlistOutpu
9090
private function updateItemInWishlist(Wishlist $wishlist, WishlistItemData $wishlistItemData): void
9191
{
9292
try {
93+
if ($wishlist->getItem($wishlistItemData->getId()) == null) {
94+
throw new LocalizedException(
95+
__(
96+
'The wishlist item with ID "%id" does not belong to the wishlist',
97+
['id' => $wishlistItemData->getId()]
98+
)
99+
);
100+
}
101+
$wishlist->getItemCollection()->clear();
93102
$options = $this->buyRequestBuilder->build($wishlistItemData);
94103
/** @var WishlistItem $wishlistItem */
95104
$wishlistItem = $this->wishlistItemFactory->create();

0 commit comments

Comments
 (0)