Skip to content

Commit 34da7f4

Browse files
author
Oleksandr Gorkun
committed
Merge branch '2.3-develop' of https://github.com/magento/magento2ce into MAGETWO-96975
2 parents 1612c05 + 50a085d commit 34da7f4

File tree

143 files changed

+4868
-859
lines changed

Some content is hidden

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

143 files changed

+4868
-859
lines changed

app/code/Magento/Analytics/README.md

Lines changed: 25 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,27 @@
1-
# Magento_Analytics Module
1+
# Magento_Analytics module
22

33
The Magento_Analytics module integrates your Magento instance with the [Magento Business Intelligence (MBI)](https://magento.com/products/business-intelligence) to use [Advanced Reporting](https://devdocs.magento.com/guides/v2.3/advanced-reporting/modules.html) functionality.
44

55
The module implements the following functionality:
66

7-
* enabling subscription to the MBI and automatic re-subscription
8-
* changing the base URL with the same MBI account remained
9-
* declaring the configuration schemas for report data collection
10-
* collecting the Magento instance data as reports for the MBI
11-
* introducing API that provides the collected data
12-
* extending Magento configuration with the module parameters:
13-
* subscription status (enabled/disabled)
14-
* industry (a business area in which the instance website works)
15-
* time of data collection (time of the day when the module collects data)
7+
- Enabling subscription to Magento Business Intelligence (MBI) and automatic re-subscription
8+
- Declaring the configuration schemas for report data collection
9+
- Collecting the Magento instance data as reports for MBI
10+
- Introducing API that provides the collected data
11+
- Extending Magento configuration with the module parameters:
12+
- Subscription status (enabled/disabled)
13+
- Industry (a business area in which the instance website works)
14+
- Time of data collection (time of the day when the module collects data)
15+
16+
## Installation details
17+
18+
Before disabling or uninstalling this module, note that the following modules depends on this module:
19+
- Magento_CatalogAnalytics
20+
- Magento_CustomerAnalytics
21+
- Magento_QuoteAnalytics
22+
- Magento_ReviewAnalytics
23+
- Magento_SalesAnalytics
24+
- Magento_WishlistAnalytics
1625

1726
## Structure
1827

@@ -29,12 +38,12 @@ The subscription to the MBI service is enabled during the installation process o
2938
Configuration settings for the Analytics module can be modified in the Admin Panel on the Stores > Configuration page under the General > Advanced Reporting tab.
3039

3140
The following options can be adjusted:
32-
* Advanced Reporting Service (Enabled/Disabled)
33-
* Alters the status of the Advanced Reporting subscription
34-
* Time of day to send data (Hour/Minute/Second in the store's time zone)
35-
* Defines when the data collection process for the Advanced Reporting service occurs
36-
* Industry
37-
* Defines the industry of the store in order to create a personalized Advanced Reporting experience
41+
- Advanced Reporting Service (Enabled/Disabled)
42+
- Alters the status of the Advanced Reporting subscription
43+
- Time of day to send data (Hour/Minute/Second in the store's time zone)
44+
- Defines when the data collection process for the Advanced Reporting service occurs
45+
- Industry
46+
- Defines the industry of the store in order to create a personalized Advanced Reporting experience
3847

3948
## Extensibility
4049

app/code/Magento/AsynchronousOperations/etc/adminhtml/system.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
<label>Bulk Actions</label>
1414
<field id="lifetime" translate="label" type="text" sortOrder="10" showInDefault="1" showInWebsite="0" showInStore="0">
1515
<label>Days Saved in Log</label>
16+
<validate>validate-zero-or-greater validate-digits</validate>
1617
</field>
1718
</group>
1819
</section>

app/code/Magento/Backend/README.md

Lines changed: 112 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,112 @@
1-
The Backend module contains common infrastructure and assets for other modules to be defined and used in their
2-
administration user interface (UI). It does not contain anything specific to other modules. Among many things it
3-
handles the logic of authenticating and authorizing users.
1+
# Magento_Backend module
2+
3+
The Magento_Backend module contains common infrastructure and assets for other modules to be defined and used in their
4+
administration user interface (UI).
5+
6+
The Magento_Backend module does not contain anything specific to other modules. Among many things it handles the logic of authenticating and authorizing users.
7+
8+
## Installation details
9+
10+
Before disabling or uninstalling this module, note that the following modules depends on this module:
11+
12+
- Magento_Analytics
13+
- Magento_Authorization
14+
- Magento_NewRelicReporting
15+
- Magento_ProductVideo
16+
- Magento_ReleaseNotification
17+
- Magento_Search
18+
- Magento_Security
19+
- Magento_Signifyd
20+
- Magento_Swatches
21+
- Magento_Ui
22+
- Magento_User
23+
- Magento_Webapi
24+
25+
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).
26+
27+
## Structure
28+
29+
Beyond the [usual module file structure](https://devdocs.magento.com/guides/v2.3/architecture/archi_perspectives/components/modules/mod_intro.html) the module contains a directory `Service/V1`.
30+
31+
`Service/V1` - contains logic to provide a list of modules installed in Magento.
32+
33+
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).
34+
35+
## Extensibility
36+
37+
Extension developers can interact with the Magento_Backend 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).
38+
39+
[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_Backend module.
40+
41+
### Events
42+
43+
The module dispatches the following events:
44+
45+
- `adminhtml_block_html_before` event in the `\Magento\Backend\Block\Template::_toHtml()` method. Parameters:
46+
- `block` is the backend block template (this) (`\Magento\Backend\Block\Template` class).
47+
- `adminhtml_store_edit_form_prepare_form` event in the `\Magento\Backend\Block\System\Store\Edit\AbstractForm::_prepareForm()` method. Parameters:
48+
- `block` is the AbstractForm block (this) (`\Magento\Backend\Block\System\Store\Edit\AbstractForm` class).
49+
- `backend_block_widget_grid_prepare_grid_before` event in the `\Magento\Backend\Block\Widget\Grid::_prepareGrid()` method. Parameters:
50+
- `grid` is the widget grid block (this) (`\Magento\Backend\Block\Widget\Grid` class)
51+
- `collection` is the grid collection (`\Magento\Framework\Data\Collection` class).
52+
- `adminhtml_cache_flush_system` event in the `\Magento\Backend\Console\Command\CacheCleanCommand::performAction()` method.
53+
- `adminhtml_cache_flush_all` event in the `\Magento\Backend\Console\Command\CacheFlushCommand::performAction()` method.
54+
- `clean_catalog_images_cache_after` event in the `\Magento\Backend\Controller\Adminhtml\Cache\CleanImages::execute()` method.
55+
- `clean_media_cache_after` event in the `\Magento\Backend\Controller\Adminhtml\Cache\CleanMedia::execute()` method.
56+
- `clean_static_files_cache_after` event in the `\Magento\Backend\Controller\Adminhtml\Cache\CleanStaticFiles::execute()` method.
57+
- `adminhtml_cache_flush_all` event in the `\Magento\Backend\Controller\Adminhtml\Cache\FlushAll::execute()` method.
58+
- `adminhtml_cache_flush_system` event in the `\Magento\Backend\Controller\Adminhtml\Cache\FlushSystem::execute()` method.
59+
- `theme_save_after` event in the `\Magento\Backend\Controller\Adminhtml\System\Design\Save::execute()` method.
60+
- `backend_auth_user_login_success` event in the `\Magento\Backend\Model\Auth::login()` method. Parameters:
61+
- `user` is the credential storage object (`null | \Magento\Backend\Model\Auth\Credential\StorageInterface`)
62+
- `backend_auth_user_login_failed` event in the `\Magento\Backend\Model\Auth::login()` method. Parameters:
63+
- `user_name` is username extracted from the credential storage object (`null | \Magento\Backend\Model\Auth\Credential\StorageInterface`)
64+
- `exception` any exception generated (`\Magento\Framework\Exception\LocalizedException | \Magento\Framework\Exception\Plugin\AuthenticationException`)
65+
66+
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).
67+
68+
### Layouts
69+
70+
This module introduces the following layouts and layout handles in the `view/adminhtml/layout` directory:
71+
72+
- `admin_login`
73+
- `adminhtml_auth_login`
74+
- `adminhtml_cache_block`
75+
- `adminhtml_cache_index`
76+
- `adminhtml_dashboard_customersmost`
77+
- `adminhtml_dashboard_customersnewest`
78+
- `adminhtml_dashboard_index`
79+
- `adminhtml_dashboard_productsviewed`
80+
- `adminhtml_denied`
81+
- `adminhtml_noroute`
82+
- `adminhtml_system_account_index`
83+
- `adminhtml_system_design_edit`
84+
- `adminhtml_system_design_grid`
85+
- `adminhtml_system_design_grid_block`
86+
- `adminhtml_system_design_index`
87+
- `adminhtml_system_store_deletestore`
88+
- `adminhtml_system_store_editstore`
89+
- `adminhtml_system_store_grid_block`
90+
- `adminhtml_system_store_index`
91+
- `default`
92+
- `editor`
93+
- `empty`
94+
- `formkey`
95+
- `overlay_popup`
96+
- `popup`
97+
98+
99+
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).
100+
101+
### UI components
102+
103+
You can extend Magento_Backend module using the following configuration files:
104+
105+
- `view/adminhtml/ui_component/design_config_form.xml`
106+
- `view/adminhtml/ui_component/design_config_listing.xml`
107+
108+
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).
109+
110+
## Additional information
111+
112+
For information about significant changes in patch releases, see [2.3.x Release information](https://devdocs.magento.com/guides/v2.3/release-notes/bk-release-notes.html).

app/code/Magento/Backup/README.md

Lines changed: 27 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,28 @@
1-
The Backup module allows administrators to perform backups and rollbacks. Types of backups include system, database and media backups. This module relies on the Cron module to schedule backups.
1+
# Magento_Backup module
22

3-
This module does not affect the storefront.
3+
The Magento_Backup module allows administrators to perform backups and rollbacks. Types of backups include system, database and media backups. This module relies on the Cron module to schedule backups.
4+
5+
The Magento_Backup module does not affect the storefront.
6+
7+
For more information about this module, see [Magento Backups](https://docs.magento.com/m2/ce/user_guide/system/backups.html)
8+
9+
## Extensibility
10+
11+
Extension developers can interact with the Magento_Backup 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).
12+
13+
[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_Backup module.
14+
15+
### Layouts
16+
17+
This module introduces the following layouts and layout handles in the `view/adminhtml/layout` directory:
18+
19+
`backup_index_block`
20+
`backup_index_disabled`
21+
`backup_index_grid`
22+
`backup_index_index`
23+
24+
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).
25+
26+
## Additional information
27+
28+
For information about significant changes in patch releases, see [2.3.x Release information](https://devdocs.magento.com/guides/v2.3/release-notes/bk-release-notes.html).
Lines changed: 112 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,112 @@
1+
<?php
2+
/**
3+
* Copyright © Magento, Inc. All rights reserved.
4+
* See COPYING.txt for license details.
5+
*/
6+
namespace Magento\Braintree\Gateway\Request;
7+
8+
use Magento\Payment\Gateway\Request\BuilderInterface;
9+
use Magento\Braintree\Gateway\SubjectReader;
10+
11+
/**
12+
* Class BillingAddressDataBuilder
13+
*/
14+
class BillingAddressDataBuilder implements BuilderInterface
15+
{
16+
/**
17+
* @var SubjectReader
18+
*/
19+
private $subjectReader;
20+
21+
/**
22+
* BillingAddress block name
23+
*/
24+
private const BILLING_ADDRESS = 'billing';
25+
26+
/**
27+
* The customer’s company. 255 character maximum.
28+
*/
29+
private const COMPANY = 'company';
30+
31+
/**
32+
* The first name value must be less than or equal to 255 characters.
33+
*/
34+
private const FIRST_NAME = 'firstName';
35+
36+
/**
37+
* The last name value must be less than or equal to 255 characters.
38+
*/
39+
private const LAST_NAME = 'lastName';
40+
41+
/**
42+
* The street address. Maximum 255 characters, and must contain at least 1 digit.
43+
* Required when AVS rules are configured to require street address.
44+
*/
45+
private const STREET_ADDRESS = 'streetAddress';
46+
47+
/**
48+
* The postal code. Postal code must be a string of 5 or 9 alphanumeric digits,
49+
* optionally separated by a dash or a space. Spaces, hyphens,
50+
* and all other special characters are ignored.
51+
*/
52+
private const POSTAL_CODE = 'postalCode';
53+
54+
/**
55+
* The ISO 3166-1 alpha-2 country code specified in an address.
56+
* The gateway only accepts specific alpha-2 values.
57+
*
58+
* @link https://developers.braintreepayments.com/reference/general/countries/php#list-of-countries
59+
*/
60+
private const COUNTRY_CODE = 'countryCodeAlpha2';
61+
62+
/**
63+
* The extended address information—such as apartment or suite number. 255 character maximum.
64+
*/
65+
private const EXTENDED_ADDRESS = 'extendedAddress';
66+
67+
/**
68+
* The locality/city. 255 character maximum.
69+
*/
70+
private const LOCALITY = 'locality';
71+
72+
/**
73+
* The state or province. For PayPal addresses, the region must be a 2-letter abbreviation;
74+
*/
75+
private const REGION = 'region';
76+
77+
/**
78+
* @param SubjectReader $subjectReader
79+
*/
80+
public function __construct(SubjectReader $subjectReader)
81+
{
82+
$this->subjectReader = $subjectReader;
83+
}
84+
85+
/**
86+
* @inheritdoc
87+
*/
88+
public function build(array $buildSubject)
89+
{
90+
$paymentDO = $this->subjectReader->readPayment($buildSubject);
91+
92+
$result = [];
93+
$order = $paymentDO->getOrder();
94+
95+
$billingAddress = $order->getBillingAddress();
96+
if ($billingAddress) {
97+
$result[self::BILLING_ADDRESS] = [
98+
self::REGION => $billingAddress->getRegionCode(),
99+
self::POSTAL_CODE => $billingAddress->getPostcode(),
100+
self::COUNTRY_CODE => $billingAddress->getCountryId(),
101+
self::FIRST_NAME => $billingAddress->getFirstname(),
102+
self::STREET_ADDRESS => $billingAddress->getStreetLine1(),
103+
self::LAST_NAME => $billingAddress->getLastname(),
104+
self::COMPANY => $billingAddress->getCompany(),
105+
self::EXTENDED_ADDRESS => $billingAddress->getStreetLine2(),
106+
self::LOCALITY => $billingAddress->getCity()
107+
];
108+
}
109+
110+
return $result;
111+
}
112+
}

app/code/Magento/Braintree/Test/Unit/Gateway/Validator/ErrorCodeProviderTest.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,9 +74,9 @@ public function getErrorCodeDataProvider(): array
7474
'errors' => [],
7575
'transaction' => [
7676
'status' => 'processor_declined',
77-
'processorResponseCode' => '1000'
77+
'processorResponseCode' => '2059'
7878
],
79-
'expectedResult' => ['1000']
79+
'expectedResult' => ['2059']
8080
],
8181
[
8282
'errors' => [

app/code/Magento/Braintree/etc/braintree_error_mapping.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
<message code="81723" translate="true">Cardholder name is too long.</message>
2222
<message code="81736" translate="true">CVV verification failed.</message>
2323
<message code="cvv" translate="true">CVV verification failed.</message>
24+
<message code="2059" translate="true">Address Verification Failed.</message>
2425
<message code="81737" translate="true">Postal code verification failed.</message>
2526
<message code="81750" translate="true">Credit card number is prohibited.</message>
2627
<message code="81801" translate="true">Addresses must have at least one field filled in.</message>

app/code/Magento/Braintree/etc/di.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -381,7 +381,7 @@
381381
<item name="customer" xsi:type="string">Magento\Braintree\Gateway\Request\CustomerDataBuilder</item>
382382
<item name="payment" xsi:type="string">Magento\Braintree\Gateway\Request\PaymentDataBuilder</item>
383383
<item name="channel" xsi:type="string">Magento\Braintree\Gateway\Request\ChannelDataBuilder</item>
384-
<item name="address" xsi:type="string">Magento\Braintree\Gateway\Request\AddressDataBuilder</item>
384+
<item name="address" xsi:type="string">Magento\Braintree\Gateway\Request\BillingAddressDataBuilder</item>
385385
<item name="dynamic_descriptor" xsi:type="string">Magento\Braintree\Gateway\Request\DescriptorDataBuilder</item>
386386
<item name="store" xsi:type="string">Magento\Braintree\Gateway\Request\StoreConfigBuilder</item>
387387
<item name="merchant_account" xsi:type="string">Magento\Braintree\Gateway\Request\MerchantAccountDataBuilder</item>

0 commit comments

Comments
 (0)