Skip to content

Commit d8e02f3

Browse files
committed
Merge branch '2.3-develop' into feature/blank-attribute-values
2 parents 0cd4aea + 8ebf827 commit d8e02f3

File tree

1,249 files changed

+43009
-7458
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,249 files changed

+43009
-7458
lines changed

README.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
[![Open Source Helpers](https://www.codetriage.com/magento/magento2/badges/users.svg)](https://www.codetriage.com/magento/magento2)
22
[![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/magento/magento2?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
33
[![Crowdin](https://d322cqt584bo4o.cloudfront.net/magento-2/localized.svg)](https://crowdin.com/project/magento-2)
4-
<h2>Welcome</h2>
4+
5+
## Welcome
56
Welcome to Magento 2 installation! We're glad you chose to install Magento 2, a cutting-edge, feature-rich eCommerce solution that gets results.
67

78
## Magento System Requirements
@@ -30,7 +31,7 @@ To suggest documentation improvements, click [here][4].
3031
[4]: https://devdocs.magento.com
3132

3233
<h3>Community Maintainers</h3>
33-
The members of this team have been recognized for their outstanding commitment to maintaining and improving Magento. Magento has granted them permission to accept, merge, and reject pull requests, as well as review issues, and thanks these Community Maintainers for their valuable contributions.
34+
The members of this team have been recognized for their outstanding commitment to maintaining and improving Magento. Magento has granted them permission to accept, merge, and reject pull requests, as well as review issues, and thanks to these Community Maintainers for their valuable contributions.
3435

3536
<a href="https://magento.com/magento-contributors#maintainers">
3637
<img src="https://raw.githubusercontent.com/wiki/magento/magento2/images/maintainers.png"/>

app/code/Magento/AdminAnalytics/view/adminhtml/ui_component/admin_usage_notification.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@
8585
<item name="text" xsi:type="string" translate="true"><![CDATA[
8686
<p>Help us improve Magento Admin by allowing us to collect usage data.</p>
8787
<p>All usage data that we collect for this purpose cannot be used to individually identify you and is used only to improve the Magento Admin and related products and services.</p>
88-
<p>You can learn more and opt out at any time by following the instructions in <a href="https://docs.magento.com/m2/ce/user_guide/stores/admin.html" target="_blank">merchant documentation</a>.</p>
88+
<p>You can learn more and opt out at any time by following the instructions in <a href="https://docs.magento.com/m2/ce/user_guide/stores/admin.html" target="_blank" tabindex="0">merchant documentation</a>.</p>
8989
]]></item>
9090
</item>
9191
</argument>

app/code/Magento/AdminAnalytics/view/adminhtml/web/js/modal/component.js

Lines changed: 84 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -20,16 +20,7 @@ define([
2020
enableLogAction: '${ $.provider }:data.enableLogAction',
2121
disableLogAction: '${ $.provider }:data.disableLogAction'
2222
},
23-
options: {
24-
keyEventHandlers: {
25-
/**
26-
* Prevents escape key from exiting out of modal
27-
*/
28-
escapeKey: function () {
29-
return;
30-
}
31-
}
32-
},
23+
options: {},
3324
notificationWindow: null
3425
},
3526

@@ -41,11 +32,32 @@ define([
4132
this._super();
4233
},
4334

35+
/**
36+
* Configure ESC and TAB so user can't leave modal
37+
* without selecting an option
38+
*
39+
* @returns {Object} Chainable.
40+
*/
41+
initModalEvents: function () {
42+
this._super();
43+
//Don't allow ESC key to close modal
44+
this.options.keyEventHandlers.escapeKey = this.handleEscKey.bind(this);
45+
//Restrict tab action to the modal
46+
this.options.keyEventHandlers.tabKey = this.handleTabKey.bind(this);
47+
48+
return this;
49+
},
50+
4451
/**
4552
* Once the modal is opened it hides the X
4653
*/
4754
onOpened: function () {
48-
$('.modal-header button.action-close').hide();
55+
$('.modal-header button.action-close').attr('disabled', true).hide();
56+
57+
this.focusableElements = $(this.rootSelector).find('a[href], button:enabled');
58+
this.firstFocusableElement = this.focusableElements[0];
59+
this.lastFocusableElement = this.focusableElements[this.focusableElements.length - 1];
60+
this.firstFocusableElement.focus();
4961
},
5062

5163
/**
@@ -104,11 +116,70 @@ define([
104116
* Allows admin usage popup to be shown first and then new release notification
105117
*/
106118
openReleasePopup: function () {
107-
var notifiModal = registry.get('release_notification.release_notification.notification_modal_1');
119+
var notificationModalSelector = 'release_notification.release_notification.notification_modal_1';
108120

109121
if (analyticsPopupConfig.releaseVisible) {
110-
notifiModal.initializeContentAfterAnalytics();
122+
registry.get(notificationModalSelector).initializeContentAfterAnalytics();
111123
}
124+
},
125+
126+
/**
127+
* Handle Tab and Shift+Tab key event
128+
*
129+
* Keep the tab actions restricted to the popup modal
130+
* so the user must select an option to dismiss the modal
131+
*/
132+
handleTabKey: function (event) {
133+
var modal = this,
134+
KEY_TAB = 9;
135+
136+
/**
137+
* Handle Shift+Tab to tab backwards
138+
*/
139+
function handleBackwardTab() {
140+
if (document.activeElement === modal.firstFocusableElement ||
141+
document.activeElement === $(modal.rootSelector)[0]
142+
) {
143+
event.preventDefault();
144+
modal.lastFocusableElement.focus();
145+
}
146+
}
147+
148+
/**
149+
* Handle Tab forward
150+
*/
151+
function handleForwardTab() {
152+
if (document.activeElement === modal.lastFocusableElement) {
153+
event.preventDefault();
154+
modal.firstFocusableElement.focus();
155+
}
156+
}
157+
158+
switch (event.keyCode) {
159+
case KEY_TAB:
160+
if (modal.focusableElements.length === 1) {
161+
event.preventDefault();
162+
break;
163+
}
164+
165+
if (event.shiftKey) {
166+
handleBackwardTab();
167+
break;
168+
}
169+
handleForwardTab();
170+
break;
171+
default:
172+
break;
173+
}
174+
},
175+
176+
/**
177+
* Handle Esc key
178+
*
179+
* Esc key should not close modal
180+
*/
181+
handleEscKey: function (event) {
182+
event.preventDefault();
112183
}
113184
}
114185
);

app/code/Magento/Analytics/Model/ExportDataHandler.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ public function __construct(
8989
public function prepareExportData()
9090
{
9191
try {
92-
$tmpDirectory = $this->filesystem->getDirectoryWrite(DirectoryList::VAR_DIR);
92+
$tmpDirectory = $this->filesystem->getDirectoryWrite(DirectoryList::SYS_TMP);
9393

9494
$this->prepareDirectory($tmpDirectory, $this->getTmpFilesDirRelativePath());
9595
$this->reportWriter->write($tmpDirectory, $this->getTmpFilesDirRelativePath());

app/code/Magento/Analytics/Test/Mftf/Data/UserRoleData.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
<entities xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
1010
xsi:noNamespaceSchemaLocation="urn:magento:mftf:DataGenerator/etc/dataProfileSchema.xsd">
1111
<entity name="adminNoReportRole" type="user_role">
12+
<data key="all">0</data>
1213
<data key="rolename" unique="suffix">noreport</data>
1314
<data key="current_password">123123q</data>
1415
<array key="resource">

app/code/Magento/Analytics/Test/Unit/Model/ExportDataHandlerTest.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
use Magento\Framework\Archive;
1414
use Magento\Framework\Filesystem;
1515
use Magento\Framework\Filesystem\Directory\WriteInterface;
16-
use Magento\Framework\App\Filesystem\DirectoryList;
16+
use Magento\Framework\Filesystem\DirectoryList;
1717
use Magento\Framework\TestFramework\Unit\Helper\ObjectManager as ObjectManagerHelper;
1818

1919
class ExportDataHandlerTest extends \PHPUnit\Framework\TestCase
@@ -137,7 +137,7 @@ public function testPrepareExportData($isArchiveSourceDirectory)
137137
$this->filesystemMock
138138
->expects($this->once())
139139
->method('getDirectoryWrite')
140-
->with(DirectoryList::VAR_DIR)
140+
->with(DirectoryList::SYS_TMP)
141141
->willReturn($this->directoryMock);
142142
$this->directoryMock
143143
->expects($this->exactly(4))
@@ -238,7 +238,7 @@ public function testPrepareExportDataWithLocalizedException()
238238
$this->filesystemMock
239239
->expects($this->once())
240240
->method('getDirectoryWrite')
241-
->with(DirectoryList::VAR_DIR)
241+
->with(DirectoryList::SYS_TMP)
242242
->willReturn($this->directoryMock);
243243
$this->reportWriterMock
244244
->expects($this->once())

app/code/Magento/Authorization/Model/Role.php

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -52,9 +52,6 @@ public function __construct( //phpcs:ignore Generic.CodeAnalysis.UselessOverridi
5252

5353
/**
5454
* @inheritDoc
55-
*
56-
* @SuppressWarnings(PHPMD.SerializationAware)
57-
* @deprecated Do not use PHP serialization.
5855
*/
5956
public function __sleep()
6057
{
@@ -64,9 +61,6 @@ public function __sleep()
6461

6562
/**
6663
* @inheritDoc
67-
*
68-
* @SuppressWarnings(PHPMD.SerializationAware)
69-
* @deprecated Do not use PHP serialization.
7064
*/
7165
public function __wakeup()
7266
{

app/code/Magento/Authorizenet/Test/Mftf/Test/StorefrontVerifySecureURLRedirectAuthorizenetTest.xml

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

app/code/Magento/AuthorizenetAcceptjs/Block/Form.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@
1818
* Block for representing the payment form
1919
*
2020
* @api
21+
* @deprecated Starting from Magento 2.3.4 Authorize.net payment method core integration is deprecated in favor of
22+
* official payment integration available on the marketplace
2123
*/
2224
class Form extends Cc
2325
{

app/code/Magento/AuthorizenetAcceptjs/Block/Info.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515
* Translates the labels for the info block
1616
*
1717
* @api
18+
* @deprecated Starting from Magento 2.3.4 Authorize.net payment method core integration is deprecated in favor of
19+
* official payment integration available on the marketplace
1820
*/
1921
class Info extends ConfigurableInfo
2022
{

app/code/Magento/AuthorizenetAcceptjs/Block/Payment.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@
1818
* Represents the payment block for the admin checkout form
1919
*
2020
* @api
21+
* @deprecated Starting from Magento 2.3.4 Authorize.net payment method core integration is deprecated in favor of
22+
* official payment integration available on the marketplace
2123
*/
2224
class Payment extends Template
2325
{

app/code/Magento/AuthorizenetAcceptjs/Gateway/Command/AcceptPaymentStrategyCommand.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,9 @@
1414

1515
/**
1616
* Chooses the best method of accepting the payment based on the status of the transaction
17+
*
18+
* @deprecated Starting from Magento 2.3.4 Authorize.net payment method core integration is deprecated in favor of
19+
* official payment integration available on the marketplace
1720
*/
1821
class AcceptPaymentStrategyCommand implements CommandInterface
1922
{

app/code/Magento/AuthorizenetAcceptjs/Gateway/Command/CaptureStrategyCommand.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,9 @@
2020

2121
/**
2222
* Chooses the best method of capture based on the context of the payment
23+
*
24+
* @deprecated Starting from Magento 2.3.4 Authorize.net payment method core integration is deprecated in favor of
25+
* official payment integration available on the marketplace
2326
*/
2427
class CaptureStrategyCommand implements CommandInterface
2528
{

app/code/Magento/AuthorizenetAcceptjs/Gateway/Command/FetchTransactionInfoCommand.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,9 @@
1717

1818
/**
1919
* Syncs the transaction status with authorize.net
20+
*
21+
* @deprecated Starting from Magento 2.3.4 Authorize.net payment method core integration is deprecated in favor of
22+
* official payment integration available on the marketplace
2023
*/
2124
class FetchTransactionInfoCommand implements CommandInterface
2225
{

app/code/Magento/AuthorizenetAcceptjs/Gateway/Command/GatewayQueryCommand.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,9 @@
2020

2121
/**
2222
* Makes a request to the gateway and returns results
23+
*
24+
* @deprecated Starting from Magento 2.3.4 Authorize.net payment method core integration is deprecated in favor of
25+
* official payment integration available on the marketplace
2326
*/
2427
class GatewayQueryCommand implements CommandInterface
2528
{

app/code/Magento/AuthorizenetAcceptjs/Gateway/Command/RefundTransactionStrategyCommand.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,9 @@
1414

1515
/**
1616
* Chooses the best method of returning the payment based on the status of the transaction
17+
*
18+
* @deprecated Starting from Magento 2.3.4 Authorize.net payment method core integration is deprecated in favor of
19+
* official payment integration available on the marketplace
1720
*/
1821
class RefundTransactionStrategyCommand implements CommandInterface
1922
{

app/code/Magento/AuthorizenetAcceptjs/Gateway/Config.php

Lines changed: 3 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,9 @@
1313

1414
/**
1515
* Houses configuration for this gateway
16+
*
17+
* @deprecated Starting from Magento 2.3.4 Authorize.net payment method core integration is deprecated in favor of
18+
* official payment integration available on the marketplace
1619
*/
1720
class Config extends \Magento\Payment\Gateway\Config\Config
1821
{
@@ -33,19 +36,6 @@ class Config extends \Magento\Payment\Gateway\Config\Config
3336
private const SOLUTION_ID_SANDBOX = 'AAA102993';
3437
private const SOLUTION_ID_PRODUCTION = 'AAA175350';
3538

36-
/**
37-
* @param ScopeConfigInterface $scopeConfig
38-
* @param null|string $methodCode
39-
* @param string $pathPattern
40-
*/
41-
public function __construct(
42-
ScopeConfigInterface $scopeConfig,
43-
$methodCode = null,
44-
$pathPattern = self::DEFAULT_PATH_PATTERN
45-
) {
46-
parent::__construct($scopeConfig, $methodCode, $pathPattern);
47-
}
48-
4939
/**
5040
* Gets the login id
5141
*

app/code/Magento/AuthorizenetAcceptjs/Gateway/Http/Client.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,9 @@
2121

2222
/**
2323
* A client that can communicate with the Authorize.net API
24+
*
25+
* @deprecated Starting from Magento 2.3.4 Authorize.net payment method core integration is deprecated in favor of
26+
* official payment integration available on the marketplace
2427
*/
2528
class Client implements ClientInterface
2629
{
@@ -109,10 +112,12 @@ public function placeRequest(TransferInterface $transferObject)
109112
try {
110113
$data = $this->json->unserialize($responseBody);
111114
} catch (InvalidArgumentException $e) {
115+
// phpcs:ignore Magento2.Exceptions.DirectThrow
112116
throw new \Exception('Invalid JSON was returned by the gateway');
113117
}
114118

115119
return $data;
120+
// phpcs:ignore Magento2.Exceptions.ThrowCatch
116121
} catch (\Exception $e) {
117122
$this->logger->critical($e);
118123

app/code/Magento/AuthorizenetAcceptjs/Gateway/Http/Payload/Filter/RemoveFieldsFilter.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,9 @@
1212

1313
/**
1414
* Removes a set of fields from the payload
15+
*
16+
* @deprecated Starting from Magento 2.3.4 Authorize.net payment method core integration is deprecated in favor of
17+
* official payment integration available on the marketplace
1518
*/
1619
class RemoveFieldsFilter implements FilterInterface
1720
{

0 commit comments

Comments
 (0)