Skip to content

Commit 2f4f8e8

Browse files
committed
Merge remote-tracking branch 'mainline/2.3-develop' into 23990-reset-not-working-properly-review
2 parents e115b06 + db43c11 commit 2f4f8e8

File tree

268 files changed

+5271
-10338
lines changed

Some content is hidden

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

268 files changed

+5271
-10338
lines changed
Lines changed: 38 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,38 @@
1-
AdvancedSearch module introduces advanced search functionality and provides interfaces that allow to implement this functionality by 3rd party search engines
1+
# Magento_AdvancedSearch module
2+
The Magento_AdvancedSearch module introduces advanced search functionality and provides interfaces that allow third-party search engines to implement this functionality.
3+
4+
## Installation details
5+
6+
Before disabling or uninstalling this module, note that the following modules depends on this module:
7+
- Magento_Elasticsearch
8+
- Magento_Elasticsearch6
9+
10+
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).
11+
12+
## Extensibility
13+
14+
Extension developers can interact with the Magento_AdvancedSearch 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).
15+
16+
[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_AdvancedSearch module.
17+
18+
### Events
19+
20+
This module observes the following event:
21+
22+
- `catalogsearch_query_save_after` in the `Magento\AdvancedSearch\Model\Recommendations\SaveSearchQueryRelationsObserver` file.
23+
24+
For information about an event in Magento 2, see [Events and observers](http://devdocs.magento.com/guides/v2.3/extension-dev-guide/events-and-observers.html#events).
25+
26+
### Layouts
27+
28+
The module interacts with the following layout handles in the `view/adminhtml/layout` directory:
29+
30+
- `catalog_search_block`
31+
- `catalog_search_edit`
32+
- `catalog_search_relatedgrid`
33+
34+
The module interacts with the following layout handles in the `view/frontend/layout` directory:
35+
36+
- `catalogsearch_result_index`
37+
38+
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).

app/code/Magento/AmqpStore/README.md

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1-
# Amqp Store
1+
# Magento_AmqpStore module
22

3-
**AmqpStore** provides ability to specify store before publish messages with Amqp.
3+
The Magento_AmqpStore module provides the ability to specify a store before publishing messages with the Advanced Message Queuing Protocol (AMQP).
4+
5+
## Extensibility
6+
7+
Extension developers can interact with the Magento_AmqpStore module using plugins. 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_AmqpStore module.
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.

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

Lines changed: 28 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,19 +59,45 @@ public function execute(array $commandSubject): void
5959
* @param array $commandSubject
6060
* @return string
6161
* @throws CommandException
62+
* @throws \Magento\Framework\Exception\NotFoundException
6263
*/
6364
private function getCommand(array $commandSubject): string
6465
{
6566
$details = $this->commandPool->get('get_transaction_details')
6667
->execute($commandSubject)
6768
->get();
6869

69-
if ($details['transaction']['transactionStatus'] === 'capturedPendingSettlement') {
70+
if ($this->canVoid($details, $commandSubject)) {
7071
return self::VOID;
71-
} elseif ($details['transaction']['transactionStatus'] !== 'settledSuccessfully') {
72+
}
73+
74+
if ($details['transaction']['transactionStatus'] !== 'settledSuccessfully') {
7275
throw new CommandException(__('This transaction cannot be refunded with its current status.'));
7376
}
7477

7578
return self::REFUND;
7679
}
80+
81+
/**
82+
* Checks if void command can be performed.
83+
*
84+
* @param array $details
85+
* @param array $commandSubject
86+
* @return bool
87+
* @throws CommandException
88+
*/
89+
private function canVoid(array $details, array $commandSubject) :bool
90+
{
91+
if ($details['transaction']['transactionStatus'] === 'capturedPendingSettlement') {
92+
if ((float) $details['transaction']['authAmount'] !== (float) $commandSubject['amount']) {
93+
throw new CommandException(
94+
__('The transaction has not been settled, a partial refund is not yet available.')
95+
);
96+
}
97+
98+
return true;
99+
}
100+
101+
return false;
102+
}
77103
}
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
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\AuthorizenetAcceptjs\Gateway\Response;
9+
10+
use Magento\Sales\Model\Order\Payment;
11+
12+
/**
13+
* Determines that parent transaction should be close for partial refund operation.
14+
*/
15+
class ClosePartialTransactionHandler extends CloseTransactionHandler
16+
{
17+
/**
18+
* Whether parent transaction should be closed.
19+
*
20+
* @param Payment $payment
21+
* @return bool
22+
*/
23+
public function shouldCloseParentTransaction(Payment $payment)
24+
{
25+
return !(bool)$payment->getCreditmemo()->getInvoice()->canRefund();
26+
}
27+
}

app/code/Magento/AuthorizenetAcceptjs/Gateway/Response/CloseTransactionHandler.php

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,19 @@ public function handle(array $handlingSubject, array $response): void
4747

4848
if ($payment instanceof Payment) {
4949
$payment->setIsTransactionClosed($this->closeTransaction);
50-
$payment->setShouldCloseParentTransaction(true);
50+
$payment->setShouldCloseParentTransaction($this->shouldCloseParentTransaction($payment));
5151
}
5252
}
53+
54+
/**
55+
* Whether parent transaction should be closed.
56+
*
57+
* @param Payment $payment
58+
* @return bool
59+
* @SuppressWarnings(PHPMD.UnusedFormalParameter)
60+
*/
61+
public function shouldCloseParentTransaction(Payment $payment)
62+
{
63+
return true;
64+
}
5365
}
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).

0 commit comments

Comments
 (0)