Skip to content

Commit 902d74d

Browse files
🔃 [Magento Community Engineering] Community Contributions - 2.4-develop latest changes
Accepted Community Pull Requests: - #25952: Resolve queue_consumer.xml doesn't allow numbers in handler class issue25731 (by @edenduong) - #25932: Resolve Refresh Statistics: Updated At = Null should be display as "Never" instead of "undefined". issue25931 (by @edenduong) - #25912: Category filters - Fix notice on incorrect price param (by @ihor-sviziev) - #25942: Resolve Email address mismatch with text in iPad(768) view issue25935 (by @edenduong) - #25926: Resolve Duplicate Records when sorting column in Content->Themes Grid issue25925 (by @edenduong) - #25918: [Ui] Adding admin class for password input type. (by @eduard13) Fixed GitHub Issues: - #25731: queue_consumer.xml doesn't allow numbers in handler class (reported by @domeglic) has been fixed in #25952 by @edenduong in 2.4-develop branch Related commits: 1. fe935a6 - #25931: Refresh Statistics: Updated At = Null should be display as "Never" instead of "undefined". (reported by @edenduong) has been fixed in #25932 by @edenduong in 2.4-develop branch Related commits: 1. b92aef0 2. f33199f 3. 2d0c917 4. a0b7436 - #25911: Category - Notice on incorrect price filter GET param (reported by @ihor-sviziev) has been fixed in #25912 by @ihor-sviziev in 2.4-develop branch Related commits: 1. 7068268 2. 414105e - #25935: Email address mismatch with text in iPad(768) view (reported by @renard123) has been fixed in #25942 by @edenduong in 2.4-develop branch Related commits: 1. 183dd64 - #25925: Dupplicate Records when sorting column in Content->Themes Grid (reported by @edenduong) has been fixed in #25926 by @edenduong in 2.4-develop branch Related commits: 1. fa2ed53 2. 1a285ea 3. 7cd1062 4. 05c84c2 - #25917: Admin confirm password input doesn't inherit needed styles (reported by @eduard13) has been fixed in #25918 by @eduard13 in 2.4-develop branch Related commits: 1. 67c55ec 2. 18281bb 3. 8ea3d26 4. 3e65b37
2 parents d95cea6 + 942d806 commit 902d74d

File tree

19 files changed

+145
-22
lines changed

19 files changed

+145
-22
lines changed

app/code/Magento/Backend/Block/System/Account/Edit/Form.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ public function __construct(
6868
}
6969

7070
/**
71-
* {@inheritdoc}
71+
* @inheritdoc
7272
*/
7373
protected function _prepareForm()
7474
{
@@ -114,7 +114,7 @@ protected function _prepareForm()
114114
'name' => 'password',
115115
'label' => __('New Password'),
116116
'title' => __('New Password'),
117-
'class' => 'validate-admin-password admin__control-text'
117+
'class' => 'validate-admin-password'
118118
]
119119
);
120120

@@ -124,7 +124,7 @@ protected function _prepareForm()
124124
[
125125
'name' => 'password_confirmation',
126126
'label' => __('Password Confirmation'),
127-
'class' => 'validate-cpassword admin__control-text'
127+
'class' => 'validate-cpassword'
128128
]
129129
);
130130

@@ -152,7 +152,7 @@ protected function _prepareForm()
152152
'label' => __('Your Password'),
153153
'id' => self::IDENTITY_VERIFICATION_PASSWORD_FIELD,
154154
'title' => __('Your Password'),
155-
'class' => 'validate-current-password required-entry admin__control-text',
155+
'class' => 'validate-current-password required-entry',
156156
'required' => true
157157
]
158158
);

app/code/Magento/Catalog/Model/Layer/Filter/DataProvider/Price.php

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,9 @@
1010
use Magento\Framework\Registry;
1111
use Magento\Store\Model\ScopeInterface;
1212

13+
/**
14+
* Data provider for price filter in layered navigation
15+
*/
1316
class Price
1417
{
1518
/**
@@ -103,6 +106,8 @@ public function __construct(
103106
}
104107

105108
/**
109+
* Getter for interval
110+
*
106111
* @return array
107112
*/
108113
public function getInterval()
@@ -111,6 +116,8 @@ public function getInterval()
111116
}
112117

113118
/**
119+
* Setter for interval
120+
*
114121
* @param array $interval
115122
* @return void
116123
*/
@@ -120,6 +127,10 @@ public function setInterval($interval)
120127
}
121128

122129
/**
130+
* Retrieves price layered navigation modes
131+
*
132+
* @see RANGE_CALCULATION_AUTO
133+
*
123134
* @return mixed
124135
*/
125136
public function getRangeCalculationValue()
@@ -131,6 +142,8 @@ public function getRangeCalculationValue()
131142
}
132143

133144
/**
145+
* Retrieves range step
146+
*
134147
* @return mixed
135148
*/
136149
public function getRangeStepValue()
@@ -142,6 +155,8 @@ public function getRangeStepValue()
142155
}
143156

144157
/**
158+
* Retrieves one price interval
159+
*
145160
* @return mixed
146161
*/
147162
public function getOnePriceIntervalValue()
@@ -179,6 +194,8 @@ public function getRangeMaxIntervalsValue()
179194
}
180195

181196
/**
197+
* Retrieves Catalog Layer object
198+
*
182199
* @return Layer
183200
*/
184201
public function getLayer()
@@ -276,6 +293,8 @@ public function getMaxPrice()
276293
}
277294

278295
/**
296+
* Retrieve list of prior filters
297+
*
279298
* @param string $filterParams
280299
* @return array
281300
*/
@@ -310,7 +329,7 @@ public function validateFilter($filter)
310329
return false;
311330
}
312331
foreach ($filter as $v) {
313-
if ($v !== '' && $v !== '0' && (double)$v <= 0 || is_infinite((double)$v)) {
332+
if ($v !== '' && $v !== '0' && (!is_numeric($v) || (double)$v <= 0 || is_infinite((double)$v))) {
314333
return false;
315334
}
316335
}
@@ -339,6 +358,8 @@ public function getResetValue()
339358
}
340359

341360
/**
361+
* Getter for prior intervals
362+
*
342363
* @return array
343364
*/
344365
public function getPriorIntervals()
@@ -347,6 +368,8 @@ public function getPriorIntervals()
347368
}
348369

349370
/**
371+
* Setter for prior intervals
372+
*
350373
* @param array $priorInterval
351374
* @return void
352375
*/
@@ -356,6 +379,8 @@ public function setPriorIntervals($priorInterval)
356379
}
357380

358381
/**
382+
* Get Resource model for price filter
383+
*
359384
* @return \Magento\Catalog\Model\ResourceModel\Layer\Filter\Price
360385
*/
361386
public function getResource()
@@ -364,6 +389,8 @@ public function getResource()
364389
}
365390

366391
/**
392+
* Retrieves additional request data
393+
*
367394
* @return string
368395
*/
369396
public function getAdditionalRequestData()

app/code/Magento/Catalog/Test/Unit/Model/Layer/Filter/DataProvider/PriceTest.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -178,6 +178,7 @@ public function validateFilterDataProvider()
178178
['filter' => '0', 'result' => false],
179179
['filter' => 0, 'result' => false],
180180
['filter' => '100500INF', 'result' => false],
181+
['filter' => '-10\'[0]', 'result' => false],
181182
];
182183
}
183184

app/code/Magento/Integration/Block/Adminhtml/Integration/Edit/Tab/Info.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,7 @@ protected function _addGeneralFieldset($form, $integrationData)
179179
'label' => __('Your Password'),
180180
'id' => self::DATA_CONSUMER_PASSWORD,
181181
'title' => __('Your Password'),
182-
'class' => 'input-text validate-current-password required-entry',
182+
'class' => 'validate-current-password required-entry',
183183
'required' => true
184184
]
185185
);

app/code/Magento/Reports/Controller/Adminhtml/Report/AbstractReport.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
/**
1919
* Reports api controller
2020
*
21+
* phpcs:disable Magento2.Classes.AbstractApi
2122
* @api
2223
* @since 100.0.2
2324
* @SuppressWarnings(PHPMD.AllPurposeAction)
@@ -140,7 +141,7 @@ protected function _showLastExecutionTime($flagCode, $refreshCode)
140141
$flag = $this->_objectManager->create(\Magento\Reports\Model\Flag::class)
141142
->setReportFlagCode($flagCode)
142143
->loadSelf();
143-
$updatedAt = 'undefined';
144+
$updatedAt = __('Never');
144145
if ($flag->hasData()) {
145146
$updatedAt = $this->timezone->formatDate(
146147
$flag->getLastUpdate(),

app/code/Magento/Reports/i18n/en_US.csv

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -224,3 +224,5 @@ Action,Action
224224
Report,Report
225225
Description,Description
226226
undefined,undefined
227+
Never,Never
228+

app/code/Magento/Reports/view/adminhtml/layout/reports_report_statistics_index.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@
7171
<argument name="sortable" xsi:type="string">0</argument>
7272
<argument name="id" xsi:type="string">updated_at</argument>
7373
<argument name="index" xsi:type="string">updated_at</argument>
74-
<argument name="default" xsi:type="string" translate="true">undefined</argument>
74+
<argument name="default" xsi:type="string" translate="true">Never</argument>
7575
<argument name="column_css_class" xsi:type="string">col-period</argument>
7676
<argument name="header_css_class" xsi:type="string">col-period</argument>
7777
</arguments>

app/code/Magento/Theme/Test/Mftf/Section/AdminThemeSection.xml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,8 @@
1515
<element name="rowsInThemeTitleColumn" type="text" selector="//tbody/tr/td[contains(@class, 'parent_theme')]/preceding-sibling::td"/>
1616
<element name="rowsInColumn" type="text" selector="//tbody/tr/td[contains(@class, '{{column}}')]" parameterized="true"/>
1717
<!--Specific cell e.g. {{Section.gridCell('Name')}}-->
18-
<element name="gridCell" type="text" selector="//table[@id='theme_grid_table']//td[contains(text(), '{{gridCellText}}')]" parameterized="true"/>
18+
<element name="gridCell" type="text" selector="//table//div[contains(text(), '{{gridCellText}}')]" parameterized="true"/>
19+
<element name="gridCellUpdated" type="text" selector="//tbody//tr//div[contains(text(), '{{gridCellText}}')]" parameterized="true"/>
1920
<element name="columnHeader" type="text" selector="//thead/tr/th[contains(@class, 'data-grid-th')]/span[text() = '{{label}}']" parameterized="true" timeout="30"/>
2021
</section>
21-
</sections>
22+
</sections>
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
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="AdminContentThemesSortTest">
12+
<annotations>
13+
<features value="Theme"/>
14+
<stories value="Menu Navigation"/>
15+
<title value="Admin content themes sort themes test"/>
16+
<description value="Admin should be able to sort Themes"/>
17+
<severity value="CRITICAL"/>
18+
<testCaseId value="https://github.com/magento/magento2/pull/25926"/>
19+
<group value="menu"/>
20+
</annotations>
21+
<before>
22+
<actionGroup ref="LoginAsAdmin" stepKey="LoginAsAdmin"/>
23+
</before>
24+
<after>
25+
<actionGroup ref="logout" stepKey="logout"/>
26+
</after>
27+
<actionGroup ref="AdminNavigateMenuActionGroup" stepKey="navigateToContentThemesPage">
28+
<argument name="menuUiId" value="{{AdminMenuContent.dataUiId}}"/>
29+
<argument name="submenuUiId" value="{{AdminMenuContentDesignThemes.dataUiId}}"/>
30+
</actionGroup>
31+
<actionGroup ref="AdminAssertPageTitleActionGroup" stepKey="seePageTitle">
32+
<argument name="title" value="{{AdminMenuContentDesignThemes.pageTitle}}"/>
33+
</actionGroup>
34+
<click selector="{{AdminThemeSection.columnHeader('Theme Title')}}" stepKey="clickSortByTitle"/>
35+
<click selector="{{AdminThemeSection.columnHeader('Theme Title')}}" stepKey="clickSortByTitleSecondTime"/>
36+
<seeNumberOfElements selector="{{AdminThemeSection.rowsInColumn('theme_path')}}" userInput="2" stepKey="see2RowsOnTheGrid"/>
37+
<seeNumberOfElements selector="{{AdminThemeSection.gridCellUpdated('Magento Luma')}}" userInput="1" stepKey="seeLumaThemeInTitleColumn"/>
38+
</test>
39+
</tests>

app/code/Magento/Theme/view/adminhtml/ui_component/design_theme_listing.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,9 @@
2020
<dataSource name="design_theme_listing_data_source" component="Magento_Ui/js/grid/provider">
2121
<settings>
2222
<updateUrl path="mui/index/render"/>
23+
<storageConfig>
24+
<param name="indexField" xsi:type="string">theme_id</param>
25+
</storageConfig>
2326
</settings>
2427
<aclResource>Magento_Theme::theme</aclResource>
2528
<dataProvider class="Magento\Framework\View\Element\UiComponent\DataProvider\DataProvider" name="design_theme_listing_data_source">

app/code/Magento/User/Block/Role/Tab/Info.php

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,9 @@
66
namespace Magento\User\Block\Role\Tab;
77

88
/**
9-
* implementing now
9+
* Info
10+
*
11+
* User role tab info
1012
*
1113
* @SuppressWarnings(PHPMD.DepthOfInheritance)
1214
*/
@@ -18,6 +20,8 @@ class Info extends \Magento\Backend\Block\Widget\Form\Generic implements \Magent
1820
const IDENTITY_VERIFICATION_PASSWORD_FIELD = 'current_password';
1921

2022
/**
23+
* Get tab label
24+
*
2125
* @return \Magento\Framework\Phrase
2226
*/
2327
public function getTabLabel()
@@ -26,6 +30,8 @@ public function getTabLabel()
2630
}
2731

2832
/**
33+
* Get tab title
34+
*
2935
* @return string
3036
*/
3137
public function getTabTitle()
@@ -34,6 +40,8 @@ public function getTabTitle()
3440
}
3541

3642
/**
43+
* Can show tab
44+
*
3745
* @return bool
3846
*/
3947
public function canShowTab()
@@ -42,6 +50,8 @@ public function canShowTab()
4250
}
4351

4452
/**
53+
* Is tab hidden
54+
*
4555
* @return bool
4656
*/
4757
public function isHidden()
@@ -50,6 +60,8 @@ public function isHidden()
5060
}
5161

5262
/**
63+
* Before html rendering
64+
*
5365
* @return $this
5466
*/
5567
public function _beforeToHtml()
@@ -60,6 +72,8 @@ public function _beforeToHtml()
6072
}
6173

6274
/**
75+
* Form initializatiion
76+
*
6377
* @return void
6478
*/
6579
protected function _initForm()
@@ -99,7 +113,7 @@ protected function _initForm()
99113
'label' => __('Your Password'),
100114
'id' => self::IDENTITY_VERIFICATION_PASSWORD_FIELD,
101115
'title' => __('Your Password'),
102-
'class' => 'input-text validate-current-password required-entry',
116+
'class' => 'validate-current-password required-entry',
103117
'required' => true
104118
]
105119
);

app/code/Magento/User/Block/User/Edit/Tab/Main.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -184,7 +184,7 @@ protected function _prepareForm()
184184
'label' => __('Your Password'),
185185
'id' => self::CURRENT_USER_PASSWORD_FIELD,
186186
'title' => __('Your Password'),
187-
'class' => 'input-text validate-current-password required-entry',
187+
'class' => 'validate-current-password required-entry',
188188
'required' => true
189189
]
190190
);

app/design/frontend/Magento/blank/Magento_Customer/web/css/source/_module.less

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@
8585
.box-information,
8686
.box-newsletter {
8787
.box-content {
88+
.lib-wrap-words();
8889
line-height: 26px;
8990
}
9091
}

app/design/frontend/Magento/luma/Magento_Customer/web/css/source/_module.less

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,7 @@
126126
.box-information,
127127
.box-newsletter {
128128
.box-content {
129+
.lib-wrap-words();
129130
&:extend(.abs-account-block-line-height all);
130131
}
131132
}
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
<?php
2+
/**
3+
* Copyright © Magento, Inc. All rights reserved.
4+
* See COPYING.txt for license details.
5+
*/
6+
7+
declare(strict_types=1);
8+
9+
namespace Magento\Reports\Controller\Adminhtml\Report\Statistics;
10+
11+
/**
12+
* @magentoAppArea adminhtml
13+
*/
14+
class IndexTest extends \Magento\TestFramework\TestCase\AbstractBackendController
15+
{
16+
/**
17+
* Test load page
18+
*/
19+
public function testExecute()
20+
{
21+
$this->dispatch('backend/reports/report_statistics');
22+
$actual = $this->getResponse()->getBody();
23+
$this->assertContains('Never', $actual);
24+
}
25+
}

0 commit comments

Comments
 (0)