Skip to content

Commit 2190290

Browse files
authored
Merge branch '2.4-develop' into B2B-2256
2 parents eb49dab + aab3ee6 commit 2190290

File tree

25 files changed

+367
-183
lines changed

25 files changed

+367
-183
lines changed

app/code/Magento/Catalog/Controller/Adminhtml/Product/Gallery/Upload.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,8 @@ class Upload extends \Magento\Backend\App\Action implements HttpPostActionInterf
3333
private $allowedMimeTypes = [
3434
'jpg' => 'image/jpg',
3535
'jpeg' => 'image/jpeg',
36-
'gif' => 'image/png',
37-
'png' => 'image/gif'
36+
'gif' => 'image/gif',
37+
'png' => 'image/png'
3838
];
3939

4040
/**

app/code/Magento/Customer/Model/Customer.php

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1026,6 +1026,7 @@ public function setStore(\Magento\Store\Model\Store $store)
10261026
* Validate customer attribute values.
10271027
*
10281028
* @deprecated 100.1.0
1029+
* @see \Magento\Customer\Model\AccountManagement::validate()
10291030
* @return bool
10301031
*/
10311032
public function validate()
@@ -1286,6 +1287,8 @@ public function changeResetPasswordLinkToken($passwordLinkToken)
12861287
* Check if current reset password link token is expired
12871288
*
12881289
* @return boolean
1290+
* @deprecated
1291+
* @see \Magento\Customer\Model\AccountManagement::isResetPasswordLinkTokenExpired
12891292
*/
12901293
public function isResetPasswordLinkTokenExpired()
12911294
{
@@ -1304,12 +1307,9 @@ public function isResetPasswordLinkTokenExpired()
13041307
return true;
13051308
}
13061309

1307-
$dayDifference = floor(($currentTimestamp - $tokenTimestamp) / (24 * 60 * 60));
1308-
if ($dayDifference >= $expirationPeriod) {
1309-
return true;
1310-
}
1311-
1312-
return false;
1310+
$hourDifference = floor(($currentTimestamp - $tokenTimestamp) / (60 * 60));
1311+
1312+
return $hourDifference >= $expirationPeriod;
13131313
}
13141314

13151315
/**

app/code/Magento/Customer/Model/ResourceModel/Address/Attribute/Source/CountryWithWebsites.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -120,16 +120,16 @@ public function getAllOptions($withEmpty = true, $defaultValues = false)
120120
$allowedCountries = array_unique(array_merge([], ...$allowedCountries));
121121
} else {
122122
// Address can be added only for the allowed country list.
123-
$storeId = null;
123+
$websiteId = null;
124124
$customerId = $this->request->getParam('parent_id') ?? null;
125125
if ($customerId) {
126126
$customer = $this->customerRepository->getById($customerId);
127-
$storeId = $customer->getStoreId();
127+
$websiteId = $customer->getWebsiteId();
128128
}
129129

130130
$allowedCountries = $this->allowedCountriesReader->getAllowedCountries(
131131
ScopeInterface::SCOPE_WEBSITE,
132-
$storeId
132+
$websiteId
133133
);
134134
}
135135

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
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="AdminEditCustomerWithAssociatedNewsletterQueueNewTest">
12+
<annotations>
13+
<stories value="Edit customer if there is associated newsletter queue new"/>
14+
<title value="Edit customer if there is associated newsletter queue new"/>
15+
<description value="Edit customer if there is associated newsletter queue new"/>
16+
<severity value="BLOCKER"/>
17+
<group value="customer"/>
18+
</annotations>
19+
<before>
20+
<actionGroup ref="EnabledWYSIWYGActionGroup" stepKey="enableWYSIWYG"/>
21+
<createData entity="Simple_US_Customer_Multiple_Addresses_No_Default_Address" stepKey="customer"/>
22+
<magentoCron groups="index" stepKey="reindex"/>
23+
<actionGroup ref="AdminLoginActionGroup" stepKey="login"/>
24+
</before>
25+
<after>
26+
<deleteData createDataKey="customer" stepKey="deleteCustomer"/>
27+
28+
<actionGroup ref="AdminNavigateMenuActionGroup" stepKey="navigateToNewsletterGridPage">
29+
<argument name="menuUiId" value="{{AdminMenuMarketing.dataUiId}}"/>
30+
<argument name="submenuUiId" value="{{AdminMenuMarketingCommunicationsNewsletterTemplate.dataUiId}}"/>
31+
</actionGroup>
32+
<actionGroup ref="AdminSearchNewsletterTemplateOnGridActionGroup" stepKey="findCreatedNewsletterTemplateInGrid">
33+
<argument name="name" value="{{_defaultNewsletter.name}}"/>
34+
<argument name="subject" value="{{_defaultNewsletter.subject}}"/>
35+
</actionGroup>
36+
<actionGroup ref="AdminMarketingOpenNewsletterTemplateFromGridActionGroup" stepKey="openTemplate"/>
37+
<actionGroup ref="AdminMarketingDeleteNewsletterTemplateActionGroup" stepKey="deleteTemplate"/>
38+
39+
<actionGroup ref="AdminLogoutActionGroup" stepKey="logout"/>
40+
</after>
41+
42+
<actionGroup ref="AdminOpenCustomersGridActionGroup" stepKey="openCustomersGridPage"/>
43+
<actionGroup ref="OpenEditCustomerFromAdminActionGroup" stepKey="openEditCustomerPage">
44+
<argument name="customer" value="Simple_US_Customer_Multiple_Addresses_No_Default_Address"/>
45+
</actionGroup>
46+
<actionGroup ref="AdminSubscribeCustomerToNewsletters" stepKey="subscribeToNewsletter"/>
47+
48+
<actionGroup ref="AdminNavigateMenuActionGroup" stepKey="navigateToNewsletterTemplatePage">
49+
<argument name="menuUiId" value="{{AdminMenuMarketing.dataUiId}}"/>
50+
<argument name="submenuUiId" value="{{AdminMenuMarketingCommunicationsNewsletterTemplate.dataUiId}}"/>
51+
</actionGroup>
52+
<actionGroup ref="AdminNavigateToCreateNewsletterTemplatePageActionGroup" stepKey="navigateToCreateNewsletterTemplatePage"/>
53+
<actionGroup ref="AdminCreateNewsletterTemplateActionGroup" stepKey="createNewsletterTemplate">
54+
<argument name="name" value="{{_defaultNewsletter.name}}"/>
55+
<argument name="subject" value="{{_defaultNewsletter.subject}}"/>
56+
<argument name="senderName" value="{{_defaultNewsletter.senderName}}"/>
57+
<argument name="senderEmail" value="{{_defaultNewsletter.senderEmail}}"/>
58+
<argument name="templateContent" value="{{_defaultNewsletter.textAreaContent}}"/>
59+
</actionGroup>
60+
<actionGroup ref="AdminSearchNewsletterTemplateOnGridActionGroup" stepKey="findCreatedNewsletterTemplate">
61+
<argument name="name" value="{{_defaultNewsletter.name}}"/>
62+
<argument name="subject" value="{{_defaultNewsletter.subject}}"/>
63+
</actionGroup>
64+
<actionGroup ref="AdminCreateQueueNewsletterActionGroup" stepKey="addNewsletterToQueue">
65+
<argument name="startAt" value="Dec 21, 2022 11:04:20 AM"/>
66+
</actionGroup>
67+
68+
<actionGroup ref="OpenEditCustomerFromAdminActionGroup" stepKey="editCustomerForm">
69+
<argument name="customer" value="Simple_US_Customer_Multiple_Addresses_No_Default_Address"/>
70+
</actionGroup>
71+
<actionGroup stepKey="editCustomerAddress" ref="AdminEditCustomerAddressesFromActionGroup">
72+
<argument name="customerAddress" value="CustomerAddressSimple"/>
73+
</actionGroup>
74+
<actionGroup ref="AdminSaveCustomerAndAssertSuccessMessage" stepKey="saveCustomer"/>
75+
76+
</test>
77+
</tests>

app/code/Magento/Customer/Test/Mftf/Test/AdminEditCustomerWithAssociatedNewsletterQueueTest.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,9 @@
1515
<description value="Edit customer if there is associated newsletter queue"/>
1616
<severity value="BLOCKER"/>
1717
<group value="customer"/>
18+
<skip>
19+
<issueId value="DEPRECATED">Use AdminEditCustomerWithAssociatedNewsletterQueueNewTest instead</issueId>
20+
</skip>
1821
</annotations>
1922
<before>
2023
<actionGroup ref="EnabledWYSIWYGActionGroup" stepKey="enableWYSIWYG"/>

app/code/Magento/Customer/view/frontend/web/js/customer-data.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -262,7 +262,9 @@ define([
262262

263263
// process sections that can expire due to storage information inconsistency
264264
_.each(cookieSectionTimestamps, function (cookieSectionTimestamp, sectionName) {
265-
sectionData = storage.get(sectionName);
265+
if (storage !== undefined) {
266+
sectionData = storage.get(sectionName);
267+
}
266268

267269
if (typeof sectionData === 'undefined' ||
268270
typeof sectionData === 'object' &&

app/code/Magento/Indexer/Controller/Adminhtml/Indexer/MassChangelog.php

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,16 +24,28 @@ public function execute()
2424
if (!is_array($indexerIds)) {
2525
$this->messageManager->addErrorMessage(__('Please select indexers.'));
2626
} else {
27+
$updatedIndexersCount = 0;
28+
2729
try {
2830
foreach ($indexerIds as $indexerId) {
2931
/** @var \Magento\Framework\Indexer\IndexerInterface $model */
3032
$model = $this->_objectManager->get(
3133
\Magento\Framework\Indexer\IndexerRegistry::class
3234
)->get($indexerId);
33-
$model->setScheduled(true);
35+
36+
if (!$model->isScheduled()) {
37+
$model->setScheduled(true);
38+
$updatedIndexersCount++;
39+
}
3440
}
35-
$this->messageManager->addSuccess(
36-
__('%1 indexer(s) are in "Update by Schedule" mode.', count($indexerIds))
41+
42+
$this->messageManager->addSuccessMessage(
43+
__(
44+
'%1 indexer(s) have been updated to "Update by Schedule" mode.
45+
%2 skipped because there was nothing to change.',
46+
$updatedIndexersCount,
47+
count($indexerIds) - $updatedIndexersCount
48+
)
3749
);
3850
} catch (\Magento\Framework\Exception\LocalizedException $e) {
3951
$this->messageManager->addErrorMessage($e->getMessage());

app/code/Magento/Indexer/Controller/Adminhtml/Indexer/MassOnTheFly.php

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,16 +24,28 @@ public function execute()
2424
if (!is_array($indexerIds)) {
2525
$this->messageManager->addErrorMessage(__('Please select indexers.'));
2626
} else {
27+
$updatedIndexersCount = 0;
28+
2729
try {
2830
foreach ($indexerIds as $indexerId) {
2931
/** @var \Magento\Framework\Indexer\IndexerInterface $model */
3032
$model = $this->_objectManager->get(
3133
\Magento\Framework\Indexer\IndexerRegistry::class
3234
)->get($indexerId);
33-
$model->setScheduled(false);
35+
36+
if ($model->isScheduled()) {
37+
$model->setScheduled(false);
38+
$updatedIndexersCount++;
39+
}
3440
}
35-
$this->messageManager->addSuccess(
36-
__('%1 indexer(s) are in "Update on Save" mode.', count($indexerIds))
41+
42+
$this->messageManager->addSuccessMessage(
43+
__(
44+
'%1 indexer(s) have been updated to "Update on Save" mode.
45+
%2 skipped because there was nothing to change.',
46+
$updatedIndexersCount,
47+
count($indexerIds) - $updatedIndexersCount
48+
)
3749
);
3850
} catch (\Magento\Framework\Exception\LocalizedException $e) {
3951
$this->messageManager->addErrorMessage($e->getMessage());

app/code/Magento/Indexer/Test/Mftf/ActionGroup/AdminSwitchAllIndexerToActionModeActionGroup.xml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,15 @@
1111
<actionGroup name="AdminSwitchAllIndexerToActionModeActionGroup">
1212
<arguments>
1313
<argument name="action" type="string" defaultValue="Update by Schedule"/>
14+
<!-- <argument name="count" type="string" defaultValue="10"/> -->
1415
</arguments>
1516
<amOnPage url="{{AdminIndexManagementPage.url}}" stepKey="onIndexManagement"/>
1617
<waitForPageLoad stepKey="waitForManagementPage"/>
1718
<selectOption userInput="selectAll" selector="{{AdminIndexManagementSection.selectMassAction}}" stepKey="checkIndexer"/>
1819
<selectOption userInput="{{action}}" selector="{{AdminIndexManagementSection.massActionSelect}}" stepKey="selectAction"/>
20+
<grabValueFrom selector="{{AdminIndexManagementSection.massIndexSelectionCount}}" stepKey="selectCount"/>
1921
<click selector="{{AdminIndexManagementSection.massActionSubmit}}" stepKey="clickSubmit"/>
2022
<waitForPageLoad stepKey="waitForSubmit"/>
21-
<see userInput="indexer(s) are in &quot;{{action}}&quot; mode." stepKey="seeMessage"/>
23+
<see userInput="{$selectCount} indexer(s) have been updated to &quot;{{action}}&quot; mode. 0 skipped because there was nothing to change." stepKey="seeMessage"/>
2224
</actionGroup>
2325
</actionGroups>

app/code/Magento/Indexer/Test/Mftf/ActionGroup/AdminSwitchIndexerToActionModeActionGroup.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,6 @@
1717
<selectOption userInput="{{action}}" selector="{{AdminIndexManagementSection.massActionSelect}}" stepKey="selectAction"/>
1818
<click selector="{{AdminIndexManagementSection.massActionSubmit}}" stepKey="clickSubmit"/>
1919
<waitForPageLoad stepKey="waitForSubmit"/>
20-
<see selector="{{AdminIndexManagementSection.successMessage}}" userInput="1 indexer(s) are in &quot;{{action}}&quot; mode." stepKey="seeMessage"/>
20+
<see selector="{{AdminIndexManagementSection.successMessage}}" userInput="1 indexer(s) have been updated to &quot;{{action}}&quot; mode. 0 skipped because there was nothing to change." stepKey="seeMessage"/>
2121
</actionGroup>
2222
</actionGroups>

0 commit comments

Comments
 (0)