Skip to content

Commit 180a839

Browse files
committed
ACP2E-3080: Admin Ordered Products Report date range visibility issue.
1 parent 91cb4d4 commit 180a839

File tree

4 files changed

+318
-38
lines changed

4 files changed

+318
-38
lines changed
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!--
3+
Copyright 2024 Adobe
4+
All Rights Reserved.
5+
NOTICE: All information contained herein is, and remains
6+
the property of Adobe and its suppliers, if any. The intellectual
7+
and technical concepts contained herein are proprietary to Adobe
8+
and its suppliers and are protected by all applicable
9+
intellectual property laws, including trade secret and copyright
10+
laws. Dissemination of this information or reproduction of this
11+
material is strictly forbidden unless prior written permission is
12+
obtained from Adobe.
13+
-->
14+
15+
<tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
16+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd">
17+
<test name="AdminReportsOrderProductsDatePickerTest">
18+
<annotations>
19+
<features value="Reports"/>
20+
<stories value="Calendar Date Button"/>
21+
<title value="Admin Ordered Products Report date range visibility issue."/>
22+
<description value="Admin Ordered Products Report date range visibility issue."/>
23+
<severity value="AVERAGE"/>
24+
<testCaseId value="AC-12188"/>
25+
</annotations>
26+
<before>
27+
<actionGroup ref="AdminLoginActionGroup" stepKey="LoginAsAdmin"/>
28+
</before>
29+
<after>
30+
<actionGroup ref="AdminLogoutActionGroup" stepKey="logout"/>
31+
</after>
32+
<actionGroup ref="AdminNavigateMenuActionGroup" stepKey="navigateToReportsOrderedPage">
33+
<argument name="menuUiId" value="{{AdminMenuReports.dataUiId}}"/>
34+
<argument name="submenuUiId" value="{{AdminMenuReportsProductsOrdered.dataUiId}}"/>
35+
</actionGroup>
36+
<actionGroup ref="AdminAssertPageTitleActionGroup" stepKey="seePageTitle">
37+
<argument name="title" value="{{AdminMenuReportsProductsOrdered.pageTitle}}"/>
38+
</actionGroup>
39+
<click stepKey="refresh" selector="{{OrderedProductsSection.refresh}}"/>
40+
<waitForPageLoad stepKey="waitForOrderList" time="5"/>
41+
<click selector="{{OrderReportMainSection.fromDatePicker}}" stepKey="clickFromDatePicker"/>
42+
<waitForElementVisible selector="{{OrderReportMainSection.datePickerCalendar}}" stepKey="seePopupDatePicker1"/>
43+
<click selector="{{OrderReportMainSection.selectTodayButton}}" stepKey="clickOnTodayButton1"/>
44+
<click selector="{{OrderReportMainSection.selectCloseButton}}" stepKey="clickOnCloseButton1"/>
45+
46+
<!-- Verify data -->
47+
<grabValueFrom selector="{{SoldReportFilterSection.dateTo}}" stepKey="fillToDate"/>
48+
<assertNotEmpty stepKey="assertToDateNotEmpty">
49+
<actualResult type="variable">$fillToDate</actualResult>
50+
</assertNotEmpty>
51+
</test>
52+
</tests>
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
/************************************************************************
2+
*
3+
* Copyright 2024 Adobe
4+
* All Rights Reserved.
5+
*
6+
* NOTICE: All information contained herein is, and remains
7+
* the property of Adobe and its suppliers, if any. The intellectual
8+
* and technical concepts contained herein are proprietary to Adobe
9+
* and its suppliers and are protected by all applicable intellectual
10+
* property laws, including trade secret and copyright laws.
11+
* Dissemination of this information or reproduction of this material
12+
* is strictly forbidden unless prior written permission is obtained
13+
* from Adobe.
14+
* ************************************************************************
15+
*/
16+
17+
var config = {
18+
map: {
19+
'*': {
20+
uiParseDataDateRange: 'Magento_Reports/js/ui-parse-data'
21+
}
22+
}
23+
};

app/code/Magento/Reports/view/adminhtml/templates/grid.phtml

Lines changed: 43 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,12 @@
88
/**
99
* @var $block \Magento\Reports\Block\Adminhtml\Grid
1010
* @var \Magento\Framework\View\Helper\SecureHtmlRenderer $secureRenderer
11+
* @var $escaper \Magento\Framework\Escaper
1112
*/
1213
?>
1314
<?php if ($block->getCollection()): ?>
1415
<?php if ($block->canDisplayContainer()): ?>
15-
<div id="<?= $block->escapeHtmlAttr($block->getId()) ?>">
16+
<div id="<?= $escaper->escapeHtmlAttr($block->getId()) ?>">
1617
<?php else: ?>
1718
<?= $block->getLayout()->getMessagesBlock()->getGroupedHtml() ?>
1819
<?php endif; ?>
@@ -21,47 +22,49 @@
2122
<div class="admin__data-grid-header-row">
2223
<?php if ($block->getDateFilterVisibility()): ?>
2324
<div class="admin__filter-actions" data-role="filter-form"
24-
id="<?= $block->escapeHtmlAttr($block->getSuffixId('period_date_range')) ?>">
25+
id="<?= $escaper->escapeHtmlAttr($block->getSuffixId('period_date_range')) ?>">
2526
<span class="field-row">
26-
<label for="<?= $block->escapeHtmlAttr($block->getSuffixId('period_date_from')) ?>"
27+
<label for="<?= $escaper->escapeHtmlAttr($block->getSuffixId('period_date_from')) ?>"
2728
class="admin__control-support-text">
28-
<span><?= $block->escapeHtml(__('From')) ?>:</span>
29+
<span><?= $escaper->escapeHtml(__('From')) ?>:</span>
2930
</label>
3031
<input class="input-text no-changes required-entry admin__control-text"
3132
type="text"
32-
id="<?= $block->escapeHtmlAttr($block->getSuffixId('period_date_from')) ?>"
33+
id="<?= $escaper->escapeHtmlAttr($block->getSuffixId('period_date_from')) ?>"
3334
name="report_from"
34-
value="<?= $block->escapeHtmlAttr($block->getFilter('report_from')) ?>">
35-
<span id="<?= $block->escapeHtmlAttr($block->getSuffixId('period_date_from_advice'))?>">
35+
value="<?= $escaper->escapeHtmlAttr($block->getFilter('report_from')) ?>">
36+
<span id="<?= $escaper
37+
->escapeHtmlAttr($block->getSuffixId('period_date_from_advice'))?>">
3638
</span>
3739
</span>
3840

3941
<span class="field-row">
40-
<label for="<?= $block->escapeHtmlAttr($block->getSuffixId('period_date_to')) ?>"
42+
<label for="<?= $escaper->escapeHtmlAttr($block->getSuffixId('period_date_to')) ?>"
4143
class="admin__control-support-text">
42-
<span><?= $block->escapeHtml(__('To')) ?>:</span>
44+
<span><?= $escaper->escapeHtml(__('To')) ?>:</span>
4345
</label>
4446
<input class="input-text no-changes required-entry admin__control-text"
4547
type="text"
46-
id="<?= $block->escapeHtmlAttr($block->getSuffixId('period_date_to')) ?>"
48+
id="<?= $escaper->escapeHtmlAttr($block->getSuffixId('period_date_to')) ?>"
4749
name="report_to"
48-
value="<?= $block->escapeHtmlAttr($block->getFilter('report_to')) ?>"/>
49-
<span id="<?= $block->escapeHtmlAttr($block->getSuffixId('period_date_to_advice')) ?>">
50+
value="<?= $escaper->escapeHtmlAttr($block->getFilter('report_to')) ?>"/>
51+
<span id="<?= $escaper
52+
->escapeHtmlAttr($block->getSuffixId('period_date_to_advice')) ?>">
5053
</span>
5154
</span>
5255

5356
<span class="field-row admin__control-filter">
54-
<label for="<?= $block->escapeHtmlAttr($block->getSuffixId('report_period')) ?>"
57+
<label for="<?= $escaper->escapeHtmlAttr($block->getSuffixId('report_period')) ?>"
5558
class="admin__control-support-text">
56-
<span><?= $block->escapeHtml(__('Show By')) ?>:</span>
59+
<span><?= $escaper->escapeHtml(__('Show By')) ?>:</span>
5760
</label>
5861
<select name="report_period"
59-
id="<?= $block->escapeHtmlAttr($block->getSuffixId('report_period')) ?>"
62+
id="<?= $escaper->escapeHtmlAttr($block->getSuffixId('report_period')) ?>"
6063
class="admin__control-select">
6164
<?php foreach ($block->getPeriods() as $_value => $_label): ?>
62-
<option value="<?= $block->escapeHtmlAttr($_value) ?>"
65+
<option value="<?= $escaper->escapeHtmlAttr($_value) ?>"
6366
<?php if ($block->getFilter('report_period') == $_value):
64-
?> selected<?php endif; ?>><?= $block->escapeHtml($_label) ?>
67+
?> selected<?php endif; ?>><?= $escaper->escapeHtml($_label) ?>
6568
</option>
6669
<?php endforeach; ?>
6770
</select>
@@ -71,17 +74,18 @@
7174
7275
require([
7376
"jquery",
74-
"mage/calendar"
77+
"mage/calendar",
78+
"uiParseDataDateRange"
7579
], function($){
7680
77-
$("#{$block->escapeJs($block->getSuffixId('period_date_range'))}").dateRange({
78-
dateFormat:"{$block->escapeJs($block->getDateFormat())}",
81+
$("#{$escaper->escapeJs($block->getSuffixId('period_date_range'))}").dateRange({
82+
dateFormat:"{$escaper->escapeJs($block->getDateFormat())}",
7983
buttonText:"",
8084
from:{
81-
id:"{$block->escapeJs($block->getSuffixId('period_date_from'))}"
85+
id:"{$escaper->escapeJs($block->getSuffixId('period_date_from'))}"
8286
},
8387
to:{
84-
id:"{$block->escapeJs($block->getSuffixId('period_date_to'))}"
88+
id:"{$escaper->escapeJs($block->getSuffixId('period_date_to'))}"
8589
}
8690
});
8791
});
@@ -98,15 +102,15 @@ script;
98102
</div>
99103
<?php endif; ?>
100104
<div class="admin__data-grid-wrap admin__data-grid-wrap-static">
101-
<table class="data-grid" id="<?= $block->escapeHtmlAttr($block->getId()) ?>_table">
105+
<table class="data-grid" id="<?= $escaper->escapeHtmlAttr($block->getId()) ?>_table">
102106
<?= $block->getChildHtml('grid.columnSet') ?>
103107
</table>
104108
</div>
105109
</div>
106110
<?php if ($block->canDisplayContainer()): ?>
107111
<?php $useAjax = '';
108112
if ($block->getUseAjax()):
109-
$useAjax = $block->escapeJs($block->getUseAjax());
113+
$useAjax = $escaper->escapeJs($block->getUseAjax());
110114
endif;
111115
$scriptString = <<<script
112116
@@ -118,24 +122,25 @@ script;
118122
], function(jQuery){
119123
120124
//<![CDATA[
121-
{$block->escapeJs($block->getJsObjectName())} = new varienGrid('{$block->escapeJs($block->getId())}',
122-
'{$block->escapeJs($block->getGridUrl())}', '{$block->escapeJs($block->getVarNamePage())}',
123-
'{$block->escapeJs($block->getVarNameSort())}', '{$block->escapeJs($block->getVarNameDir())}',
124-
'{$block->escapeJs($block->getVarNameFilter())}');
125-
{$block->escapeJs($block->getJsObjectName())}.useAjax = '{$useAjax}';
125+
{$escaper->escapeJs($block->getJsObjectName())} = new varienGrid('{$escaper->escapeJs(
126+
$block->getId())}',
127+
'{$escaper->escapeJs($block->getGridUrl())}', '{$escaper->escapeJs($block->getVarNamePage())}',
128+
'{$escaper->escapeJs($block->getVarNameSort())}', '{$escaper->escapeJs($block->getVarNameDir())}',
129+
'{$escaper->escapeJs($block->getVarNameFilter())}');
130+
{$escaper->escapeJs($block->getJsObjectName())}.useAjax = '{$useAjax}';
126131
127132
script;
128133
?>
129134
<?php if ($block->getDateFilterVisibility()): ?>
130135
<?php $scriptString .= <<<script
131136
132-
{$block->escapeJs($block->getJsObjectName())}.doFilterCallback = validateFilterDate;
133-
var period_date_from = $('{$block->escapeJs($block->getSuffixId('period_date_from'))}');
134-
var period_date_to = $('{$block->escapeJs($block->getSuffixId('period_date_to'))}');
137+
{$escaper->escapeJs($block->getJsObjectName())}.doFilterCallback = validateFilterDate;
138+
var period_date_from = $('{$escaper->escapeJs($block->getSuffixId('period_date_from'))}');
139+
var period_date_to = $('{$escaper->escapeJs($block->getSuffixId('period_date_to'))}');
135140
period_date_from.adviceContainer =
136-
$('{$block->escapeJs($block->getSuffixId('period_date_from_advice'))}');
141+
$('{$escaper->escapeJs($block->getSuffixId('period_date_from_advice'))}');
137142
period_date_to.adviceContainer =
138-
$('{$block->escapeJs($block->getSuffixId('period_date_to_advice'))}');
143+
$('{$escaper->escapeJs($block->getSuffixId('period_date_to_advice'))}');
139144
140145
var validateFilterDate = function() {
141146
if (period_date_from && period_date_to) {
@@ -169,11 +174,11 @@ script;
169174
if (obj.switchParams) {
170175
storeParam += obj.switchParams;
171176
}
172-
var formParam = new Array('{$block->escapeJs($block->getSuffixId('period_date_from'))}',
173-
'{$block->escapeJs($block->getSuffixId('period_date_to'))}',
174-
'{$block->escapeJs($block->getSuffixId('report_period'))}');
177+
var formParam = new Array('{$escaper->escapeJs($block->getSuffixId('period_date_from'))}',
178+
'{$escaper->escapeJs($block->getSuffixId('period_date_to'))}',
179+
'{$escaper->escapeJs($block->getSuffixId('report_period'))}');
175180
var paramURL = '';
176-
var switchURL = '{$block->escapeJs($block->getAbsoluteGridUrl(['_current' => false]))}'
181+
var switchURL = '{$escaper->escapeJs($block->getAbsoluteGridUrl(['_current' => false]))}'
177182
.replace(/(store|group|website)\/\d+\//, '');
178183
179184
for (var i = 0; i < formParam.length; i++) {

0 commit comments

Comments
 (0)