Skip to content

Commit c2676bb

Browse files
Merge pull request #2 from magento/2.4-develop
Pull
2 parents 5b371de + 0a834cc commit c2676bb

File tree

2,399 files changed

+68715
-24417
lines changed

Some content is hidden

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

2,399 files changed

+68715
-24417
lines changed

.github/CONTRIBUTING.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ For more detailed information on contribution please read our [beginners guide](
1515

1616
## Contribution requirements
1717

18-
1. Contributions must adhere to the [Magento coding standards](https://devdocs.magento.com/guides/v2.4/coding-standards/bk-coding-standards.html).
18+
1. Contributions must adhere to the [Magento coding standards](https://developer.adobe.com/commerce/php/coding-standards/).
1919
2. Pull requests (PRs) must be accompanied by a meaningful description of their purpose. Comprehensive descriptions increase the chances of a pull request being merged quickly and without additional clarification requests.
2020
3. Commits must be accompanied by meaningful commit messages. Please see the [Magento Pull Request Template](https://github.com/magento/magento2/blob/HEAD/.github/PULL_REQUEST_TEMPLATE.md) for more information.
2121
4. PRs which include bug fixes must be accompanied with a step-by-step description of how to reproduce the bug.

README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ However, for those who need a full-featured eCommerce solution, we recommend [Ad
2626

2727
## Contribute
2828

29-
Our [Community](https://opensource.magento.com/) is large and diverse, and our project is enormous. As a contributor, you have countless opportunities to impact product development and delivery by introducing new features or improving existing ones, enhancing test coverage, updating documentation for [developers](https://devdocs.magento.com/) and [end-users](https://docs.magento.com/user-guide/), catching and fixing code bugs, suggesting points for optimization, and sharing your great ideas.
29+
Our [Community](https://opensource.magento.com/) is large and diverse, and our project is enormous. As a contributor, you have countless opportunities to impact product development and delivery by introducing new features or improving existing ones, enhancing test coverage, updating documentation for [developers](https://developer.adobe.com/commerce/docs/) and [end-users](https://docs.magento.com/user-guide/), catching and fixing code bugs, suggesting points for optimization, and sharing your great ideas.
3030

3131
- [Contribute to the code](https://developer.adobe.com/commerce/contributor/guides/code-contributions/)
3232
- [Report an issue](https://developer.adobe.com/commerce/contributor/guides/code-contributions/#report)
@@ -36,7 +36,7 @@ Our [Community](https://opensource.magento.com/) is large and diverse, and our p
3636

3737
### Maintainers
3838

39-
We encourage experts from the Community to help us with GitHub routines such as accepting, merging, or rejecting pull requests and reviewing issues. Adobe has granted the Community Maintainers permission to accept, merge, and reject pull requests, as well as review issues. Thanks to invaluable input from the Community Maintainers team, we can significantly improve contribution quality and accelerate the time to deliver your updates to production.
39+
We encourage experts from the Community to help us with GitHub routines such as accepting, merging, or rejecting pull requests and reviewing issues. Adobe has granted the Community Maintainers permission to accept, merge, and reject pull requests, as well as review issues. Thanks to invaluable input from the Community Maintainers team, we can significantly improve contribution quality and accelerate the time to deliver your updates to production.
4040

4141
- [Learn more about the Maintainer role](https://developer.adobe.com/commerce/contributor/guides/maintainers/)
4242
- [Maintainer's Handbook](https://developer.adobe.com/commerce/contributor/guides/maintainers/handbook/)
@@ -64,9 +64,9 @@ Stay up-to-date on the latest security news and patches by signing up for [Secur
6464
## Licensing
6565

6666
Each Magento source file included in this distribution is licensed under OSL 3.0 or the terms and conditions of the applicable ordering document between Licensee/Customer and Adobe (or Magento).
67-
67+
6868
[Open Software License (OSL 3.0)](https://opensource.org/licenses/osl-3.0.php) – Please see [LICENSE.txt](LICENSE.txt) for the full text of the OSL 3.0 license.
69-
69+
7070
Subject to Licensee's/Customer's payment of fees and compliance with the terms and conditions of the applicable ordering document between Licensee/Customer and Adobe (or Magento), the terms and conditions of the applicable ordering between Licensee/Customer and Adobe (or Magento) supersede the OSL 3.0 license for each source file.
7171

7272
## Communications

app/bootstrap.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,12 @@
1717
if (!defined('PHP_VERSION_ID') || PHP_VERSION_ID < 80100) {
1818
if (PHP_SAPI == 'cli') {
1919
echo 'Magento supports PHP 8.1.0 or later. ' .
20-
'Please read https://devdocs.magento.com/guides/v2.4/install-gde/system-requirements-tech.html';
20+
'Please read https://experienceleague.adobe.com/docs/commerce-operations/installation-guide/system-requirements.html';
2121
} else {
2222
echo <<<HTML
2323
<div style="font:12px/1.35em arial, helvetica, sans-serif;">
2424
<p>Magento supports PHP 8.1.0 or later. Please read
25-
<a target="_blank" href="https://devdocs.magento.com/guides/v2.4/install-gde/system-requirements-tech.html">
25+
<a target="_blank" href="https://experienceleague.adobe.com/docs/commerce-operations/installation-guide/system-requirements.html">
2626
Magento System Requirements</a>.
2727
</div>
2828
HTML;
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
The Magento\AdminAnalytics module gathers information about the features Magento administrators use. This information will be used to help improve the user experience on the Magento Admin.
1+
The Magento\AdminAnalytics module gathers information about the features Magento administrators use. This information will be used to help improve the user experience on the Magento Admin.

app/code/Magento/AdminNotification/Test/Mftf/Test/AdminSystemNotificationNavigateMenuTest.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
<group value="menu"/>
2020
<group value="mtf_migrated"/>
2121
<group value="pr_exclude"/>
22+
<group value="cloud"/>
2223
</annotations>
2324
<before>
2425
<actionGroup ref="AdminLoginActionGroup" stepKey="LoginAsAdmin"/>

app/code/Magento/AdminNotification/Test/Mftf/Test/AdminSystemNotificationToolbarBlockAclTest.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
<severity value="MAJOR"/>
1818
<testCaseId value="MC-36011"/>
1919
<group value="menu"/>
20+
<group value="cloud"/>
2021
</annotations>
2122
<before>
2223
<actionGroup ref="AdminLoginActionGroup" stepKey="LoginAsAdmin"/>

app/code/Magento/AdvancedSearch/Test/Mftf/Test/AdminAddSearchTermTest.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
<severity value="CRITICAL"/>
1818
<group value="AdvancedSearch"/>
1919
<group value="pr_exclude"/>
20+
<group value="cloud"/>
2021
</annotations>
2122
<before>
2223
<actionGroup ref="AdminLoginActionGroup" stepKey="loginAsAdmin"/>

app/code/Magento/Analytics/Test/Mftf/Test/AdminAdvancedReportingButtonTest.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
<group value="analytics"/>
1919
<group value="mtf_migrated"/>
2020
<group value="pr_exclude"/>
21+
<group value="cloud"/>
2122
</annotations>
2223

2324
<before>

app/code/Magento/Analytics/Test/Mftf/Test/AdminAdvancedReportingNavigateMenuTest.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
<group value="menu"/>
2020
<group value="mtf_migrated"/>
2121
<group value="pr_exclude"/>
22+
<group value="cloud"/>
2223
</annotations>
2324
<before>
2425
<actionGroup ref="AdminLoginActionGroup" stepKey="LoginAsAdmin"/>

app/code/Magento/Analytics/Test/Mftf/Test/AdminConfigurationBlankIndustryTest.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
<testCaseId value="MAGETWO-63981"/>
1818
<group value="analytics"/>
1919
<group value="pr_exclude"/>
20+
<group value="cloud"/>
2021
</annotations>
2122
<before>
2223
<actionGroup ref="AdminLoginActionGroup" stepKey="loginAsAdmin"/>

app/code/Magento/Analytics/Test/Mftf/Test/AdminConfigurationIndustryTest.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
<testCaseId value="MAGETWO-63898"/>
1919
<group value="analytics"/>
2020
<group value="pr_exclude"/>
21+
<group value="cloud"/>
2122
</annotations>
2223
<before>
2324
<actionGroup ref="AdminLoginActionGroup" stepKey="loginAsAdmin"/>

app/code/Magento/Analytics/Test/Mftf/Test/AdminConfigurationPermissionTest.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
<click selector="{{AdminUserGridSection.searchResultFirstRow}}" stepKey="clickFoundUsername"/>
3636
<waitForPageLoad time="30" stepKey="wait2"/>
3737
<seeInField selector="{{AdminEditUserSection.usernameTextField}}" userInput="$$noReportUser.username$$" stepKey="seeUsernameInField"/>
38-
<fillField selector="{{AdminEditUserSection.currentPasswordField}}" userInput="{{_ENV.MAGENTO_ADMIN_PASSWORD}}" stepKey="fillCurrentPassword"/>
38+
<fillField selector="{{AdminEditUserSection.currentPasswordField}}" userInput="{{_CREDS.magento/MAGENTO_ADMIN_PASSWORD}}" stepKey="fillCurrentPassword"/>
3939
<scrollToTopOfPage stepKey="scrollToTopOfPage"/>
4040

4141
<click selector="{{AdminEditUserSection.userRoleTab}}" stepKey="clickUserRoleTab"/>

app/code/Magento/Analytics/Test/Mftf/Test/AdminConfigurationTimeToSendDataTest.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
<testCaseId value="MAGETWO-66464"/>
1919
<group value="analytics"/>
2020
<group value="pr_exclude"/>
21+
<group value="cloud"/>
2122
</annotations>
2223
<before>
2324
<actionGroup ref="AdminLoginActionGroup" stepKey="loginAsAdmin"/>
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
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+
<suites xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
10+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Suite/etc/suiteSchema.xsd">
11+
<suite name="AsyncOperationsSuite">
12+
<include>
13+
<group name="async_operations"/>
14+
</include>
15+
</suite>
16+
</suites>

app/code/Magento/AsyncConfig/Test/Mftf/Test/AsyncConfigurationTest.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
<severity value="MAJOR"/>
1717
<testCaseId value="ACPT-885"/>
1818
<group value="configuration"/>
19+
<group value="async_operations" />
1920
</annotations>
2021
<before>
2122
<!--Enable Async Configuration-->

app/code/Magento/AsynchronousOperations/Model/AccessValidator.php

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,13 @@
66

77
namespace Magento\AsynchronousOperations\Model;
88

9-
/**
10-
* Class AccessValidator
11-
*/
9+
use Magento\AsynchronousOperations\Api\Data\BulkSummaryInterface;
10+
use Magento\Authorization\Model\UserContextInterface;
11+
1212
class AccessValidator
1313
{
1414
/**
15-
* @var \Magento\Authorization\Model\UserContextInterface
15+
* @var UserContextInterface
1616
*/
1717
private $userContext;
1818

@@ -27,13 +27,12 @@ class AccessValidator
2727
private $bulkSummaryFactory;
2828

2929
/**
30-
* AccessValidator constructor.
31-
* @param \Magento\Authorization\Model\UserContextInterface $userContext
30+
* @param UserContextInterface $userContext
3231
* @param \Magento\Framework\EntityManager\EntityManager $entityManager
3332
* @param \Magento\AsynchronousOperations\Api\Data\BulkSummaryInterfaceFactory $bulkSummaryFactory
3433
*/
3534
public function __construct(
36-
\Magento\Authorization\Model\UserContextInterface $userContext,
35+
UserContextInterface $userContext,
3736
\Magento\Framework\EntityManager\EntityManager $entityManager,
3837
\Magento\AsynchronousOperations\Api\Data\BulkSummaryInterfaceFactory $bulkSummaryFactory
3938
) {
@@ -50,11 +49,15 @@ public function __construct(
5049
*/
5150
public function isAllowed($bulkUuid)
5251
{
53-
/** @var \Magento\AsynchronousOperations\Api\Data\BulkSummaryInterface $bulkSummary */
52+
/** @var BulkSummaryInterface $bulkSummary */
5453
$bulkSummary = $this->entityManager->load(
5554
$this->bulkSummaryFactory->create(),
5655
$bulkUuid
5756
);
57+
if ((int) $bulkSummary->getUserType() === UserContextInterface::USER_TYPE_INTEGRATION) {
58+
return true;
59+
}
60+
5861
return ((int) $bulkSummary->getUserId()) === ((int) $this->userContext->getUserId());
5962
}
6063
}

app/code/Magento/AsynchronousOperations/Model/BulkStatus/Options.php

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,32 +7,29 @@
77

88
use Magento\AsynchronousOperations\Api\Data\BulkSummaryInterface;
99

10-
/**
11-
* Class Options
12-
*/
1310
class Options implements \Magento\Framework\Data\OptionSourceInterface
1411
{
1512
/**
16-
* @return array
13+
* @inheritDoc
1714
*/
1815
public function toOptionArray()
1916
{
2017
return [
2118
[
2219
'value' => BulkSummaryInterface::NOT_STARTED,
23-
'label' => 'Not Started'
20+
'label' => __('Not Started')
2421
],
2522
[
2623
'value' => BulkSummaryInterface::IN_PROGRESS,
27-
'label' => 'In Progress'
24+
'label' => __('In Progress')
2825
],
2926
[
3027
'value' => BulkSummaryInterface::FINISHED_SUCCESSFULLY,
31-
'label' => 'Finished Successfully'
28+
'label' => __('Finished Successfully')
3229
],
3330
[
3431
'value' => BulkSummaryInterface::FINISHED_WITH_FAILURE,
35-
'label' => 'Finished with Failure'
32+
'label' => __('Finished with Failure')
3633
]
3734
];
3835
}
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
<?php
2+
/**
3+
* Copyright © Magento, Inc. All rights reserved.
4+
* See COPYING.txt for license details.
5+
*/
6+
declare(strict_types=1);
7+
8+
namespace Magento\AsynchronousOperations\Model\BulkUserType;
9+
10+
use Magento\Authorization\Model\UserContextInterface;
11+
use Magento\Framework\Data\OptionSourceInterface;
12+
13+
class Options implements OptionSourceInterface
14+
{
15+
/**
16+
* @inheritDoc
17+
*/
18+
public function toOptionArray(): array
19+
{
20+
return [
21+
[
22+
'value' => UserContextInterface::USER_TYPE_ADMIN,
23+
'label' => __('Admin user')
24+
],
25+
[
26+
'value' => UserContextInterface::USER_TYPE_INTEGRATION,
27+
'label' => __('Integration')
28+
]
29+
];
30+
}
31+
}

app/code/Magento/AsynchronousOperations/Ui/Component/DataProvider/SearchResult.php

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,13 @@
88
use Magento\Framework\Data\Collection\Db\FetchStrategyInterface as FetchStrategy;
99
use Magento\Framework\Data\Collection\EntityFactoryInterface as EntityFactory;
1010
use Magento\Framework\Event\ManagerInterface as EventManager;
11+
use Magento\Framework\Model\ResourceModel\AbstractResource;
1112
use Psr\Log\LoggerInterface as Logger;
1213
use Magento\Authorization\Model\UserContextInterface;
1314
use Magento\Framework\Bulk\BulkSummaryInterface;
1415
use Magento\AsynchronousOperations\Model\StatusMapper;
1516
use Magento\AsynchronousOperations\Model\BulkStatus\CalculatedStatusSql;
1617

17-
/**
18-
* Class SearchResult
19-
*/
2018
class SearchResult extends \Magento\Framework\View\Element\UiComponent\DataProvider\SearchResult
2119
{
2220
/**
@@ -40,7 +38,6 @@ class SearchResult extends \Magento\Framework\View\Element\UiComponent\DataProvi
4038
private $calculatedStatusSql;
4139

4240
/**
43-
* SearchResult constructor.
4441
* @param EntityFactory $entityFactory
4542
* @param Logger $logger
4643
* @param FetchStrategy $fetchStrategy
@@ -49,7 +46,7 @@ class SearchResult extends \Magento\Framework\View\Element\UiComponent\DataProvi
4946
* @param StatusMapper $statusMapper
5047
* @param CalculatedStatusSql $calculatedStatusSql
5148
* @param string $mainTable
52-
* @param null $resourceModel
49+
* @param AbstractResource $resourceModel
5350
* @param string $identifierName
5451
* @SuppressWarnings(PHPMD.ExcessiveParameterList)
5552
*/
@@ -80,7 +77,7 @@ public function __construct(
8077
}
8178

8279
/**
83-
* {@inheritdoc}
80+
* @inheritdoc
8481
*/
8582
protected function _initSelect()
8683
{
@@ -93,12 +90,18 @@ protected function _initSelect()
9390
)->where(
9491
'user_id=?',
9592
$this->userContext->getUserId()
93+
)->where(
94+
'user_type=?',
95+
UserContextInterface::USER_TYPE_ADMIN
96+
)->orWhere(
97+
'user_type=?',
98+
UserContextInterface::USER_TYPE_INTEGRATION
9699
);
97100
return $this;
98101
}
99102

100103
/**
101-
* {@inheritdoc}
104+
* @inheritdoc
102105
*/
103106
protected function _afterLoad()
104107
{
@@ -110,7 +113,7 @@ protected function _afterLoad()
110113
}
111114

112115
/**
113-
* {@inheritdoc}
116+
* @inheritdoc
114117
*/
115118
public function addFieldToFilter($field, $condition = null)
116119
{
@@ -133,7 +136,7 @@ public function addFieldToFilter($field, $condition = null)
133136
}
134137

135138
/**
136-
* {@inheritdoc}
139+
* @inheritdoc
137140
*/
138141
public function getSelectCountSql()
139142
{

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

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,3 +33,10 @@ Error,Error
3333
"Dismiss All Completed Tasks","Dismiss All Completed Tasks"
3434
"Action Details - #","Action Details - #"
3535
"Number of Records Affected","Number of Records Affected"
36+
"User Type","User Type"
37+
"Admin user","Admin user"
38+
"Integration","Integration"
39+
"Not Started","Not Started"
40+
"In Progress","In Progress"
41+
"Finished Successfully","Finished Successfully"
42+
"Finished with Failure","Finished with Failure"

app/code/Magento/AsynchronousOperations/view/adminhtml/ui_component/bulk_listing.xml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,14 @@
8181
<label translate="true">Description of Operation</label>
8282
</settings>
8383
</column>
84+
<column name="user_type" component="Magento_Ui/js/grid/columns/select" sortOrder="55">
85+
<settings>
86+
<filter>select</filter>
87+
<options class="\Magento\AsynchronousOperations\Model\BulkUserType\Options"/>
88+
<dataType>select</dataType>
89+
<label translate="true">User Type</label>
90+
</settings>
91+
</column>
8492
<column name="status" component="Magento_Ui/js/grid/columns/select" sortOrder="60">
8593
<settings>
8694
<filter>select</filter>

0 commit comments

Comments
 (0)