Skip to content

Commit c785556

Browse files
merge magento/2.3-develop into magento-honey-badgers/hb-pr-branch
2 parents 33f5d44 + 9cb846b commit c785556

File tree

62 files changed

+1265
-77
lines changed

Some content is hidden

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

62 files changed

+1265
-77
lines changed
Lines changed: 48 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,48 @@
1-
This component is designed to provide response for client who launched the bulk operation as soon as possible and postpone handling of operations moving them to background handler.
1+
# Magento_AsynchronousOperations module
2+
3+
This component is designed to provide a response for a client that launched the bulk operation as soon as possible and postpone handling of operations moving them to the background handler.
4+
5+
## Installation details
6+
7+
The Magento_AsynchronousOperations module creates the following tables in the database:
8+
9+
- `magento_bulk`
10+
- `magento_operation`
11+
- `magento_acknowledged_bulk`
12+
13+
Before disabling or uninstalling this module, note that the following modules depends on this module:
14+
15+
- Magento_WebapiAsync
16+
17+
For information about module installation in Magento 2, see [Enable or disable modules](https://devdocs.magento.com/guides/v2.3/install-gde/install/cli/install-cli-subcommands-enable.html).
18+
19+
## Extensibility
20+
21+
Extension developers can interact with the Magento_AsynchronousOperations module. For more information about the Magento extension mechanism, see [Magento plug-ins](https://devdocs.magento.com/guides/v2.3/extension-dev-guide/plugins.html).
22+
23+
[The Magento dependency injection mechanism](https://devdocs.magento.com/guides/v2.3/extension-dev-guide/depend-inj.html) enables you to override the functionality of the Magento_AsynchronousOperations module.
24+
25+
### Layouts
26+
27+
This module introduces the following layouts and layout handles in the `view/adminhtml/layout` directory:
28+
29+
- `bulk_bulk_details`
30+
- `bulk_bulk_details_modal`
31+
- `bulk_index_index`
32+
33+
For more information about layouts in Magento 2, see the [Layout documentation](https://devdocs.magento.com/guides/v2.3/frontend-dev-guide/layouts/layout-overview.html).
34+
35+
### UI components
36+
37+
You can extend Magento_AsynchronousOperations module using the following configuration files in the `view/adminhtml/ui_component/` directory:
38+
39+
- `bulk_details_form`
40+
- `bulk_details_form_modal`
41+
- `bulk_listing`
42+
- `failed_operation_listing`
43+
- `failed_operation_modal_listing`
44+
- `notification_area`
45+
- `retriable_operation_listing`
46+
- `retriable_operation_modal_listing`
47+
48+
For information about UI components in Magento 2, see [Overview of UI components](https://devdocs.magento.com/guides/v2.3/ui_comp_guide/bk-ui_comps.html).
Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,20 @@
1-
# Authorization
1+
# Magento_Authorization module
22

3-
**Authorization** enables management of access control list roles and
4-
rules in the application.
3+
The Magento_Authorization module enables management of access control list roles and rules in the application.
4+
5+
## Installation details
6+
7+
The Magento_AdminNotification module creates the following tables in the database:
8+
9+
- `authorization_role`
10+
- `authorization_rule`
11+
12+
Before disabling or uninstalling this module, note that the Magento_GraphQl module depends on this module.
13+
14+
For information about module installation in Magento 2, see [Enable or disable modules](https://devdocs.magento.com/guides/v2.3/install-gde/install/cli/install-cli-subcommands-enable.html).
15+
16+
## Extensibility
17+
18+
Extension developers can interact with the Magento_Authorization module. For more information about the Magento extension mechanism, see [Magento plug-ins](https://devdocs.magento.com/guides/v2.3/extension-dev-guide/plugins.html).
19+
20+
[The Magento dependency injection mechanism](https://devdocs.magento.com/guides/v2.3/extension-dev-guide/depend-inj.html) enables you to override the functionality of the Magento_Authorization module.
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,29 @@
1+
# Magento_AuthorizenetAcceptjs module
2+
13
The Magento_AuthorizenetAcceptjs module implements the integration with the Authorize.Net payment gateway and makes the latter available as a payment method in Magento.
4+
5+
## Installation details
6+
7+
Before disabling or uninstalling this module, note that the `Magento_AuthorizenetCardinal` module depends on this module.
8+
9+
For information about module installation in Magento 2, see [Enable or disable modules](https://devdocs.magento.com/guides/v2.3/install-gde/install/cli/install-cli-subcommands-enable.html).
10+
11+
## Structure
12+
13+
`Gateway/` - the directory that contains payment gateway command interfaces and service classes.
14+
15+
For information about typical file structure of a module in Magento 2, see [Module file structure](http://devdocs.magento.com/guides/v2.3/extension-dev-guide/build/module-file-structure.html#module-file-structure).
16+
17+
## Extensibility
18+
19+
Extension developers can interact with the Magento_AuthorizenetAcceptjs module. For more information about the Magento extension mechanism, see [Magento plug-ins](https://devdocs.magento.com/guides/v2.3/extension-dev-guide/plugins.html).
20+
21+
[The Magento dependency injection mechanism](https://devdocs.magento.com/guides/v2.3/extension-dev-guide/depend-inj.html) enables you to override the functionality of the Magento_AuthorizenetAcceptjs module.
22+
23+
### Events
24+
25+
This module observes the following events:
26+
27+
- `payment_method_assign_data_authorizenet_acceptjs` event in the `Magento\AuthorizenetAcceptjs\Observer\DataAssignObserver` file.
28+
29+
For information about an event in Magento 2, see [Events and observers](https://devdocs.magento.com/guides/v2.3/extension-dev-guide/events-and-observers.html#events).
Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,23 @@
1-
The AuthorizenetCardinal module provides a possibility to enable 3-D Secure 2.0 support for AuthorizenetAcceptjs payment integration.
1+
# Magento_AuthorizenetCardinal module
2+
3+
Use the Magento_AuthorizenetCardinal module to enable 3D Secure 2.0 support for AuthorizenetAcceptjs payment integrations.
4+
5+
## Structure
6+
7+
`Gateway/` - the directory that contains payment gateway command interfaces and service classes.
8+
9+
For information about typical file structure of a module in Magento 2, see [Module file structure](https://devdocs.magento.com/guides/v2.3/extension-dev-guide/build/module-file-structure.html#module-file-structure).
10+
11+
## Extensibility
12+
13+
Extension developers can interact with the Magento_AuthorizenetCardinal module. For more information about the Magento extension mechanism, see [Magento plug-ins](https://devdocs.magento.com/guides/v2.3/extension-dev-guide/plugins.html).
14+
15+
[The Magento dependency injection mechanism](https://devdocs.magento.com/guides/v2.3/extension-dev-guide/depend-inj.html) enables you to override the functionality of the Magento_AuthorizenetCardinal module.
16+
17+
### Events
18+
19+
This module observes the following events:
20+
21+
- `payment_method_assign_data_authorizenet_acceptjs` event in the `Magento\AuthorizenetCardinal\Observer\DataAssignObserver` file.
22+
23+
For information about an event in Magento 2, see [Events and observers](https://devdocs.magento.com/guides/v2.3/extension-dev-guide/events-and-observers.html#events).
Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1-
# AuthorizenetGraphQl
1+
# Magento_AuthorizenetGraphQl module
22

3-
**AuthorizenetGraphQl** defines the data types needed to pass payment information data from the client to Magento.
3+
The Magento_AuthorizenetGraphQl module defines the data types needed to pass payment information data from the client to Magento.
4+
5+
## Extensibility
6+
7+
Extension developers can interact with the Magento_AuthorizenetGraphQl module. For more information about the Magento extension mechanism, see [Magento plug-ins](https://devdocs.magento.com/guides/v2.3/extension-dev-guide/plugins.html).
8+
9+
[The Magento dependency injection mechanism](https://devdocs.magento.com/guides/v2.3/extension-dev-guide/depend-inj.html) enables you to override the functionality of the Magento_AuthorizenetGraphQl module.

app/code/Magento/Backend/view/adminhtml/templates/admin/access_denied.phtml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,10 @@
2121
<li>
2222
<span><?= $block->escapeHtml(__('Return to ')) ?>
2323
<?php if (isset($_SERVER['HTTP_REFERER'])) : ?>
24-
<a href="<?= $block->escapeUrl(__($_SERVER['HTTP_REFERER'])) ?>">
24+
<a href="<?= $block->escapeUrl($_SERVER['HTTP_REFERER']) ?>">
2525
<?= $block->escapeHtml(__('previous page')) ?></a><?= $block->escapeHtml(__('.')) ?>
2626
<?php else : ?>
27-
<a href="<?= $block->escapeHtmlAttr(__('javascript:history.back()')) ?>">
27+
<a href="<?= $block->escapeHtmlAttr('javascript:history.back()') ?>">
2828
<?= $block->escapeHtml(__('previous page')) ?></a><?= $block->escapeHtml(__('.')) ?>
2929
<?php endif ?>
3030
</span>

app/code/Magento/Catalog/Model/Indexer/Category/Product/Action/Full.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@ private function switchTables(): void
152152
*
153153
* @return $this
154154
*/
155-
public function execute(): self
155+
public function execute(): Full
156156
{
157157
$this->createTables();
158158
$this->clearReplicaTables();

app/code/Magento/Catalog/Model/ResourceModel/AbstractResource.php

Lines changed: 29 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
/**
1616
* Catalog entity abstract model
1717
*
18+
* phpcs:disable Magento2.Classes.AbstractApi
1819
* @api
1920
*
2021
* @SuppressWarnings(PHPMD.CouplingBetweenObjects)
@@ -468,7 +469,7 @@ protected function _getOrigObject($object)
468469
*
469470
* @param AbstractAttribute $attribute
470471
* @param mixed $value New value of the attribute.
471-
* @param array &$origData
472+
* @param array $origData
472473
* @return bool
473474
*/
474475
protected function _canUpdateAttribute(AbstractAttribute $attribute, $value, array &$origData)
@@ -560,15 +561,19 @@ public function getAttributeRawValue($entityId, $attribute, $store)
560561
$store = (int) $store;
561562
if ($typedAttributes) {
562563
foreach ($typedAttributes as $table => $_attributes) {
564+
$defaultJoinCondition = [
565+
$connection->quoteInto('default_value.attribute_id IN (?)', array_keys($_attributes)),
566+
"default_value.{$this->getLinkField()} = e.{$this->getLinkField()}",
567+
'default_value.store_id = 0',
568+
];
569+
563570
$select = $connection->select()
564-
->from(['default_value' => $table], ['attribute_id'])
565-
->join(
566-
['e' => $this->getTable($this->getEntityTable())],
567-
'e.' . $this->getLinkField() . ' = ' . 'default_value.' . $this->getLinkField(),
568-
''
569-
)->where('default_value.attribute_id IN (?)', array_keys($_attributes))
570-
->where("e.entity_id = :entity_id")
571-
->where('default_value.store_id = ?', 0);
571+
->from(['e' => $this->getTable($this->getEntityTable())], [])
572+
->joinLeft(
573+
['default_value' => $table],
574+
implode(' AND ', $defaultJoinCondition),
575+
[]
576+
)->where("e.entity_id = :entity_id");
572577

573578
$bind = ['entity_id' => $entityId];
574579

@@ -578,6 +583,11 @@ public function getAttributeRawValue($entityId, $attribute, $store)
578583
'default_value.value',
579584
'store_value.value'
580585
);
586+
$attributeIdExpr = $connection->getCheckSql(
587+
'store_value.attribute_id IS NULL',
588+
'default_value.attribute_id',
589+
'store_value.attribute_id'
590+
);
581591
$joinCondition = [
582592
$connection->quoteInto('store_value.attribute_id IN (?)', array_keys($_attributes)),
583593
"store_value.{$this->getLinkField()} = e.{$this->getLinkField()}",
@@ -587,23 +597,28 @@ public function getAttributeRawValue($entityId, $attribute, $store)
587597
$select->joinLeft(
588598
['store_value' => $table],
589599
implode(' AND ', $joinCondition),
590-
['attr_value' => $valueExpr]
600+
['attribute_id' => $attributeIdExpr, 'attr_value' => $valueExpr]
591601
);
592602

593603
$bind['store_id'] = $store;
594604
} else {
595-
$select->columns(['attr_value' => 'value'], 'default_value');
605+
$select->columns(
606+
['attribute_id' => 'attribute_id', 'attr_value' => 'value'],
607+
'default_value'
608+
);
596609
}
597610

598611
$result = $connection->fetchPairs($select, $bind);
599612
foreach ($result as $attrId => $value) {
600-
$attrCode = $typedAttributes[$table][$attrId];
601-
$attributesData[$attrCode] = $value;
613+
if ($attrId !== '') {
614+
$attrCode = $typedAttributes[$table][$attrId];
615+
$attributesData[$attrCode] = $value;
616+
}
602617
}
603618
}
604619
}
605620

606-
if (is_array($attributesData) && sizeof($attributesData) == 1) {
621+
if (is_array($attributesData) && count($attributesData) == 1) {
607622
$attributesData = array_shift($attributesData);
608623
}
609624

app/code/Magento/Catalog/Test/Mftf/Test/AdminSortingByWebsitesTest.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,8 @@
4040
<actionGroup ref="AdminDeleteWebsiteActionGroup" stepKey="deleteTestWebsite">
4141
<argument name="websiteName" value="{{customWebsite.name}}"/>
4242
</actionGroup>
43+
<actionGroup ref="GoToProductCatalogPage" stepKey="goToProductCatalogPage"/>
44+
<actionGroup ref="resetProductGridToDefaultView" stepKey="resetProductGridColumnsInitial"/>
4345
<actionGroup ref="ResetWebUrlOptions" stepKey="resetUrlOption"/>
4446
<magentoCLI command="indexer:reindex" stepKey="reindex"/>
4547
<magentoCLI command="cache:flush" stepKey="flushCache"/>

app/code/Magento/Catalog/Test/Mftf/Test/StorefrontPurchaseProductWithCustomOptionsWithLongValuesTitle.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,9 @@
1717
<description value="Admin should be able to see the full title of the selected custom option value in the order"/>
1818
<severity value="MAJOR"/>
1919
<testCaseId value="MC-3043"/>
20+
<skip>
21+
<issueId value="MQE-1128"/>
22+
</skip>
2023
</annotations>
2124
<before>
2225
<!--Create Simple Product with Custom Options-->

0 commit comments

Comments
 (0)