Skip to content

Commit 277a23a

Browse files
Merge branch '2.3-develop' of github.com:magento-epam/magento2ce into HEAD
2 parents a6d39e8 + e95cca3 commit 277a23a

File tree

177 files changed

+3635
-1298
lines changed

Some content is hidden

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

177 files changed

+3635
-1298
lines changed

.github/CODEOWNERS

Lines changed: 206 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,206 @@
1+
/app/code/Magento/AdminNotification/ @paliarush
2+
/app/code/Magento/Backend/ @paliarush
3+
/app/code/Magento/User/ @paliarush
4+
/lib/internal/Magento/Framework/App/ @buskamuza
5+
/lib/internal/Magento/Framework/Controller/ @buskamuza
6+
/lib/internal/Magento/Framework/Flag/ @buskamuza
7+
/lib/internal/Magento/Framework/HTTP/ @buskamuza
8+
/lib/internal/Magento/Framework/Logger/ @buskamuza
9+
/lib/internal/Magento/Framework/Message/ @buskamuza
10+
/lib/internal/Magento/Framework/Notification/ @buskamuza
11+
/lib/internal/Magento/Framework/Session/ @buskamuza
12+
/lib/internal/Magento/Framework/Url/ @buskamuza
13+
/app/code/Magento/Cms/ @melnikovi
14+
/app/code/Magento/CmsUrlRewrite/ @melnikovi
15+
/app/code/Magento/Contact/ @melnikovi
16+
/app/code/Magento/Email/ @melnikovi
17+
/app/code/Magento/Variable/ @melnikovi
18+
/app/code/Magento/Widget/ @melnikovi
19+
/lib/internal/Magento/Framework/Cache/ @kokoc
20+
/app/code/Magento/CacheInvalidate/ @kokoc
21+
/app/code/Magento/CatalogInventory/ @tariqjawed83 @maghamed
22+
/app/code/Magento/Bundle/ @akaplya
23+
/app/code/Magento/BundleImportExport/ @akaplya
24+
/app/code/Magento/Catalog/ @akaplya
25+
/app/code/Magento/CatalogAnalytics/ @akaplya
26+
/app/code/Magento/CatalogImportExport/ @akaplya
27+
/app/code/Magento/CatalogSearch/ @kokoc
28+
/app/code/Magento/CatalogUrlRewrite/ @akaplya
29+
/app/code/Magento/ConfigurableImportExport/ @akaplya
30+
/app/code/Magento/ConfigurableProduct/ @akaplya
31+
/app/code/Magento/Downloadable/ @akaplya
32+
/app/code/Magento/DownloadableImportExport/ @akaplya
33+
/app/code/Magento/GroupedImportExport/ @akaplya
34+
/app/code/Magento/GroupedProduct/ @akaplya
35+
/app/code/Magento/LayeredNavigation/ @kokoc
36+
/app/code/Magento/ProductVideo/ @akaplya
37+
/app/code/Magento/Review/ @akaplya
38+
/app/code/Magento/Swatches/ @akaplya
39+
/app/code/Magento/SwatchesLayeredNavigation/ @kokoc
40+
/app/code/Magento/Checkout/ @paliarush
41+
/app/code/Magento/CheckoutAgreements/ @paliarush
42+
/app/code/Magento/GiftMessage/ @paliarush
43+
/app/code/Magento/InstantPurchase/ @paliarush
44+
/app/code/Magento/Multishipping/ @joni-jones
45+
/app/code/Magento/Quote/ @paliarush
46+
/app/code/Magento/QuoteAnalytics/ @paliarush
47+
/lib/internal/Magento/Framework/Code/ @joni-jones
48+
/lib/internal/Magento/Framework/Reflection/ @joni-jones
49+
/lib/internal/Magento/Framework/Component/ @buskamuza
50+
/app/code/Magento/Version/ @buskamuza
51+
/lib/internal/Magento/Framework/Config/ @paliarush
52+
/app/code/Magento/Config/ @paliarush
53+
/lib/internal/Magento/Framework/Console/ @joni-jones
54+
/lib/internal/Magento/Framework/Process/ @joni-jones
55+
/lib/internal/Magento/Framework/Shell/ @joni-jones
56+
/app/code/Magento/Cookie/ @kokoc
57+
/lib/internal/Magento/Framework/Crontab/ @tariqjawed83 @buskamuza
58+
/app/code/Magento/Cron/ @tariqjawed83 @buskamuza
59+
/app/code/Magento/Customer/ @paliarush
60+
/app/code/Magento/CustomerAnalytics/ @paliarush
61+
/app/code/Magento/CustomerImportExport/ @paliarush
62+
/app/code/Magento/Persistent/ @paliarush
63+
/app/code/Magento/Wishlist/ @paliarush
64+
/lib/internal/Magento/Framework/DB/ @akaplya
65+
/lib/internal/Magento/Framework/EntityManager/ @akaplya
66+
/lib/internal/Magento/Framework/Indexer/ @akaplya
67+
/lib/internal/Magento/Framework/Model/ @akaplya
68+
/lib/internal/Magento/Framework/Mview/ @akaplya
69+
/app/code/Magento/Eav/ @akaplya
70+
/app/code/Magento/Indexer/ @akaplya
71+
/lib/internal/Magento/Framework/Archive/ @joni-jones
72+
/lib/internal/Magento/Framework/Convert/ @joni-jones
73+
/lib/internal/Magento/Framework/Data/ @joni-jones
74+
/lib/internal/Magento/Framework/DomDocument/ @joni-jones
75+
/lib/internal/Magento/Framework/Json/ @joni-jones
76+
/lib/internal/Magento/Framework/Math/ @joni-jones
77+
/lib/internal/Magento/Framework/Parse/ @joni-jones
78+
/lib/internal/Magento/Framework/Serialize/ @joni-jones
79+
/lib/internal/Magento/Framework/Simplexml/ @joni-jones
80+
/lib/internal/Magento/Framework/Stdlib/ @joni-jones
81+
/lib/internal/Magento/Framework/Unserialize/ @joni-jones
82+
/lib/internal/Magento/Framework/Xml/ @joni-jones
83+
/lib/internal/Magento/Framework/XsltProcessor/ @joni-jones
84+
/app/code/Magento/Deploy/ @kandy @buskamuza
85+
/lib/internal/Magento/Framework/Profiler/ @kandy
86+
/app/code/Magento/Developer/ @buskamuza
87+
/app/code/Magento/Directory/ @buskamuza
88+
/lib/internal/Magento/Framework/Exception/ @paliarush
89+
/lib/internal/Magento/Framework/File/ @buskamuza
90+
/lib/internal/Magento/Framework/Filesystem/ @buskamuza
91+
/lib/internal/Magento/Framework/System/ @buskamuza
92+
/lib/internal/Magento/Framework/Css/ @DrewML
93+
/lib/internal/Magento/Framework/Option/ @DrewML
94+
/lib/internal/Magento/Framework/RequireJs/ @DrewML
95+
/lib/internal/Magento/Framework/View/ @melnikovi
96+
/dev/tests/js/ @DrewML
97+
/app/code/Magento/RequireJs/ @DrewML
98+
/app/code/Magento/Theme/ @melnikovi
99+
/app/code/Magento/Ui/ @melnikovi
100+
/lib/internal/Magento/Framework/Intl/ @melnikovi
101+
/lib/internal/Magento/Framework/Locale/ @melnikovi
102+
/lib/internal/Magento/Framework/Phrase/ @melnikovi
103+
/lib/internal/Magento/Framework/Translate/ @melnikovi
104+
/app/code/Magento/Translation/ @melnikovi
105+
/app/code/Magento/ImportExport/ @akaplya
106+
/app/code/Magento/GoogleAdwords/ @buskamuza @melnikovi
107+
/app/code/Magento/Newsletter/ @buskamuza @melnikovi
108+
/app/code/Magento/ProductAlert/ @buskamuza @melnikovi
109+
/app/code/Magento/Rss/ @buskamuza @melnikovi
110+
/app/code/Magento/SendFriend/ @buskamuza @melnikovi
111+
/app/code/Magento/Marketplace/ @buskamuza
112+
/app/code/Magento/MediaStorage/ @buskamuza
113+
/lib/internal/Magento/Framework/Amqp/ @tariqjawed83 @paliarush
114+
/lib/internal/Magento/Framework/Bulk/ @tariqjawed83 @paliarush
115+
/lib/internal/Magento/Framework/Communication/ @tariqjawed83 @paliarush
116+
/app/code/Magento/Amqp/ @tariqjawed83 @paliarush
117+
/app/code/Magento/AsynchronousOperations/ @tariqjawed83 @paliarush
118+
/app/code/Magento/MessageQueue/ @tariqjawed83 @paliarush
119+
/app/code/Magento/MysqlMq/ @tariqjawed83 @paliarush
120+
/app/code/Magento/Sales/ @joni-jones
121+
/app/code/Magento/SalesInventory/ @joni-jones
122+
/app/code/Magento/SalesSequence/ @joni-jones
123+
/lib/internal/Magento/Framework/Event/ @buskamuza @kandy
124+
/lib/internal/Magento/Framework/Interception/ @buskamuza @kandy
125+
/lib/internal/Magento/Framework/ObjectManager/ @buskamuza @kandy
126+
/app/code/Magento/PageCache/ @Andrey @kokoc @paliarush
127+
/app/code/Magento/Authorizenet/ @joni-jones
128+
/app/code/Magento/Braintree/ @joni-jones
129+
/app/code/Magento/OfflinePayments/ @joni-jones
130+
/app/code/Magento/Payment/ @joni-jones
131+
/app/code/Magento/Paypal/ @joni-jones
132+
/app/code/Magento/Signifyd/ @joni-jones
133+
/app/code/Magento/Vault/ @joni-jones
134+
/lib/internal/Magento/Framework/Pricing/ @akaplya
135+
/app/code/Magento/AdvancedPricingImportExport/ @akaplya
136+
/app/code/Magento/CurrencySymbol/ @akaplya
137+
/app/code/Magento/Msrp/ @akaplya
138+
/app/code/Magento/Tax/ @akaplya
139+
/app/code/Magento/TaxImportExport/ @akaplya
140+
/app/code/Magento/Weee/ @akaplya
141+
/app/code/Magento/CatalogRule/ @kokoc
142+
/app/code/Magento/CatalogRuleConfigurable/ @kokoc
143+
/app/code/Magento/CatalogWidget/ @kokoc
144+
/app/code/Magento/Rule/ @kokoc
145+
/app/code/Magento/SalesRule/ @akaplya
146+
/app/code/Magento/ReleaseNotification/ @paliarush
147+
/app/code/Magento/Analytics/ @tariqjawed83 @buskamuza
148+
/app/code/Magento/GoogleAnalytics/ @tariqjawed83 @buskamuza
149+
/app/code/Magento/NewRelicReporting/ @tariqjawed83 @buskamuza
150+
/app/code/Magento/Reports/ @tariqjawed83 @buskamuza
151+
/app/code/Magento/ReviewAnalytics/ @tariqjawed83 @buskamuza
152+
/app/code/Magento/SalesAnalytics/ @tariqjawed83 @buskamuza
153+
/app/code/Magento/WishlistAnalytics/ @tariqjawed83 @buskamuza
154+
/app/code/Magento/GoogleOptimizer/ @paliarush
155+
/app/code/Magento/Robots/ @paliarush
156+
/app/code/Magento/Sitemap/ @paliarush
157+
/lib/internal/Magento/Framework/Search/ @kokoc
158+
/app/code/Magento/AdvancedSearch/ @kokoc
159+
/app/code/Magento/Elasticsearch/ @kokoc
160+
/app/code/Magento/Search/ @kokoc
161+
/lib/internal/Magento/Framework/Acl/ @kokoc
162+
/lib/internal/Magento/Framework/Authorization/ @kokoc
163+
/lib/internal/Magento/Framework/Encryption/ @kokoc
164+
/app/code/Magento/Authorization/ @kokoc
165+
/app/code/Magento/Captcha/ @kokoc
166+
/app/code/Magento/EncryptionKey/ @kokoc
167+
/app/code/Magento/Security/ @kokoc
168+
/lib/internal/Magento/Framework/Autoload/ @buskamuza
169+
/lib/internal/Magento/Framework/Backup/ @buskamuza
170+
/lib/internal/Magento/Framework/Composer/ @buskamuza
171+
/lib/internal/Magento/Framework/Setup/ @buskamuza
172+
/app/code/Magento/Backup/ @buskamuza
173+
/setup/ @buskamuza
174+
/app/code/Magento/Dhl/ @joni-jones
175+
/app/code/Magento/Fedex/ @joni-jones
176+
/app/code/Magento/OfflineShipping/ @joni-jones
177+
/app/code/Magento/Shipping/ @joni-jones
178+
/app/code/Magento/Ups/ @joni-jones
179+
/app/code/Magento/Usps/ @joni-jones
180+
/app/code/Magento/Store/ @akaplya
181+
/lib/internal/Magento/Framework/TestFramework/ @paliarush
182+
/dev/tests/integration/framework/ @buskamuza
183+
/dev/tests/setup-integration/framework/ @paliarush
184+
/dev/tests/static/framework/ @paliarush
185+
/dev/tests/unit/ @paliarush
186+
/dev/tests/api-functional/ @paliarush
187+
/app/code/Magento/UrlRewrite/ @kokoc
188+
/lib/internal/Magento/Framework/Image/ @buskamuza
189+
/lib/internal/Magento/Framework/Mail/ @melnikovi
190+
/lib/internal/Magento/Framework/Filter/ @melnikovi
191+
/lib/internal/Magento/Framework/Validation/ @melnikovi
192+
/lib/internal/Magento/Framework/Validator/ @melnikovi
193+
/lib/internal/Magento/Framework/Api/ @paliarush
194+
/lib/internal/Magento/Framework/GraphQL/ @paliarush
195+
/lib/internal/Magento/Framework/Oauth/ @paliarush
196+
/lib/internal/Magento/Framework/Webapi/ @paliarush
197+
/app/code/Magento/GraphQL/ @paliarush
198+
/app/code/Magento/Integration/ @paliarush
199+
/app/code/Magento/Swagger/ @paliarush
200+
/app/code/Magento/Webapi/ @paliarush
201+
/app/code/Magento/WebapiSecurity/ @paliarush
202+
203+
composer.json @buskamuza
204+
*.js @DrewML
205+
.htaccess* @akaplya
206+
nginx.conf* @akaplya

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.

app/code/Magento/Backend/Block/System/Store/Edit/Form/Store.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@
33
* Copyright © Magento, Inc. All rights reserved.
44
* See COPYING.txt for license details.
55
*/
6+
7+
declare(strict_types=1);
8+
69
namespace Magento\Backend\Block\System\Store\Edit\Form;
710

811
/**
@@ -129,6 +132,7 @@ protected function _prepareStoreFieldset(\Magento\Framework\Data\Form $form)
129132
'label' => __('Sort Order'),
130133
'value' => $storeModel->getSortOrder(),
131134
'required' => false,
135+
'class' => 'validate-number validate-zero-or-greater',
132136
'disabled' => $storeModel->isReadOnly()
133137
]
134138
);

app/code/Magento/Backend/Block/System/Store/Edit/Form/Website.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@
33
* Copyright © Magento, Inc. All rights reserved.
44
* See COPYING.txt for license details.
55
*/
6+
7+
declare(strict_types=1);
8+
69
namespace Magento\Backend\Block\System\Store\Edit\Form;
710

811
/**
@@ -85,6 +88,7 @@ protected function _prepareStoreFieldset(\Magento\Framework\Data\Form $form)
8588
'label' => __('Sort Order'),
8689
'value' => $websiteModel->getSortOrder(),
8790
'required' => false,
91+
'class' => 'validate-number validate-zero-or-greater',
8892
'disabled' => $websiteModel->isReadOnly()
8993
]
9094
);

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
<section id="advanced" translate="label" type="text" sortOrder="910" showInDefault="0" showInWebsite="0" showInStore="0">
2424
<label>Advanced</label>
2525
<tab>advanced</tab>
26-
<resource>Magento_Backend::advanced</resource>
26+
<resource>Magento_Config::advanced</resource>
2727
<group id="modules_disable_output" translate="label" type="text" sortOrder="2" showInDefault="1" showInWebsite="1" showInStore="1">
2828
<label>Disable Modules Output</label>
2929
<frontend_model>Magento\Config\Block\System\Config\Form\Fieldset\Modules\DisableOutput</frontend_model>

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -258,7 +258,7 @@ Minute,Minute
258258
"To use this website you must first enable JavaScript in your browser.","To use this website you must first enable JavaScript in your browser."
259259
"This is only a demo store. You can browse and place orders, but nothing will be processed.","This is only a demo store. You can browse and place orders, but nothing will be processed."
260260
"Report an Issue","Report an Issue"
261-
"Store View:","Store View:"
261+
"Scope:","Scope:"
262262
"Stores Configuration","Stores Configuration"
263263
"Please confirm scope switching. All data that hasn't been saved will be lost.","Please confirm scope switching. All data that hasn't been saved will be lost."
264264
"Additional Cache Management","Additional Cache Management"

app/code/Magento/Backend/view/adminhtml/templates/store/switcher.phtml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
<?php if ($websites = $block->getWebsites()) : ?>
1010

1111
<div class="store-switcher store-view">
12-
<span class="store-switcher-label"><?= $block->escapeHtml(__('Store View:')) ?></span>
12+
<span class="store-switcher-label"><?= $block->escapeHtml(__('Scope:')) ?></span>
1313
<div class="actions dropdown closable">
1414
<input type="hidden" name="store_switcher" id="store_switcher"
1515
data-role="store-view-id" data-param="<?= $block->escapeHtmlAttr($block->getStoreVarName()) ?>"

app/code/Magento/Braintree/Model/Paypal/Helper/OrderPlace.php

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
/**
2020
* Class OrderPlace
2121
* @SuppressWarnings(PHPMD.CouplingBetweenObjects)
22+
* @SuppressWarnings(PHPMD.CookieAndSessionMisuse)
2223
*/
2324
class OrderPlace extends AbstractHelper
2425
{
@@ -79,9 +80,10 @@ public function __construct(
7980
public function execute(Quote $quote, array $agreement)
8081
{
8182
if (!$this->agreementsValidator->isValid($agreement)) {
82-
throw new LocalizedException(__(
83+
$errorMsg = __(
8384
"The order wasn't placed. First, agree to the terms and conditions, then try placing your order again."
84-
));
85+
);
86+
throw new LocalizedException($errorMsg);
8587
}
8688

8789
if ($this->getCheckoutMethod($quote) === Onepage::METHOD_GUEST) {
@@ -91,12 +93,7 @@ public function execute(Quote $quote, array $agreement)
9193
$this->disabledQuoteAddressValidation($quote);
9294

9395
$quote->collectTotals();
94-
try {
95-
$this->cartManagement->placeOrder($quote->getId());
96-
} catch (\Exception $e) {
97-
$this->orderCancellationService->execute($quote->getReservedOrderId());
98-
throw $e;
99-
}
96+
$this->cartManagement->placeOrder($quote->getId());
10097
}
10198

10299
/**
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
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\Braintree\Plugin;
9+
10+
use Magento\Quote\Model\QuoteManagement;
11+
use Magento\Quote\Api\CartManagementInterface;
12+
use Magento\Quote\Model\Quote;
13+
14+
/**
15+
* Plugin for QuoteManagement to disable quote address validation
16+
*/
17+
class DisableQuoteAddressValidation
18+
{
19+
/**
20+
* Disable quote address validation before submit order
21+
*
22+
* @param QuoteManagement $subject
23+
* @param Quote $quote
24+
* @param array $orderData
25+
* @return array
26+
* @throws \Exception
27+
* @throws \Magento\Framework\Exception\LocalizedException
28+
* @SuppressWarnings(PHPMD.UnusedFormalParameter)
29+
*/
30+
public function beforeSubmit(
31+
QuoteManagement $subject,
32+
Quote $quote,
33+
$orderData = []
34+
) {
35+
if ($quote->getPayment()->getMethod() == 'braintree_paypal' &&
36+
$quote->getCheckoutMethod() == CartManagementInterface::METHOD_GUEST) {
37+
$billingAddress = $quote->getBillingAddress();
38+
$billingAddress->setShouldIgnoreValidation(true);
39+
$quote->setBillingAddress($billingAddress);
40+
}
41+
return [$quote, $orderData];
42+
}
43+
}

app/code/Magento/Braintree/Plugin/OrderCancellation.php

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,9 @@ public function aroundPlaceOrder(
7272
];
7373
if (in_array($payment->getMethod(), $paymentCodes)) {
7474
$incrementId = $quote->getReservedOrderId();
75-
$this->orderCancellationService->execute($incrementId);
75+
if ($incrementId) {
76+
$this->orderCancellationService->execute($incrementId);
77+
}
7678
}
7779

7880
throw $e;

0 commit comments

Comments
 (0)