Skip to content

Commit c29dd64

Browse files
author
ybohaienko
committed
Merge branch '2.2.6-develop' into MAGETWO-92172
2 parents 7d1325c + 8971cb1 commit c29dd64

File tree

48 files changed

+540
-325
lines changed

Some content is hidden

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

48 files changed

+540
-325
lines changed
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
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\Gateway\Request;
9+
10+
use Magento\Braintree\Gateway\Config\Config;
11+
use Magento\Braintree\Gateway\SubjectReader;
12+
use Magento\Payment\Gateway\Request\BuilderInterface;
13+
14+
/**
15+
* Adds Merchant Account ID to the request if it was specified in the configuration.
16+
*/
17+
class MerchantAccountDataBuilder implements BuilderInterface
18+
{
19+
/**
20+
* The merchant account ID used to create a transaction.
21+
* Currency is also determined by merchant account ID.
22+
* If no merchant account ID is specified, Braintree will use your default merchant account.
23+
*/
24+
private static $merchantAccountId = 'merchantAccountId';
25+
26+
/**
27+
* @var Config
28+
*/
29+
private $config;
30+
31+
/**
32+
* @var SubjectReader
33+
*/
34+
private $subjectReader;
35+
36+
/**
37+
* Constructor
38+
*
39+
* @param Config $config
40+
* @param SubjectReader $subjectReader
41+
*/
42+
public function __construct(Config $config, SubjectReader $subjectReader)
43+
{
44+
$this->config = $config;
45+
$this->subjectReader = $subjectReader;
46+
}
47+
48+
/**
49+
* @inheritdoc
50+
*/
51+
public function build(array $buildSubject): array
52+
{
53+
$paymentDO = $this->subjectReader->readPayment($buildSubject);
54+
$order = $paymentDO->getOrder();
55+
56+
$result = [];
57+
$merchantAccountId = $this->config->getMerchantAccountId($order->getStoreId());
58+
if (!empty($merchantAccountId)) {
59+
$result[self::$merchantAccountId] = $merchantAccountId;
60+
}
61+
62+
return $result;
63+
}
64+
}

app/code/Magento/Braintree/Gateway/Request/PaymentDataBuilder.php

Lines changed: 4 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@
66
namespace Magento\Braintree\Gateway\Request;
77

88
use Magento\Braintree\Gateway\Config\Config;
9-
use Magento\Braintree\Observer\DataAssignObserver;
109
use Magento\Braintree\Gateway\SubjectReader;
10+
use Magento\Braintree\Observer\DataAssignObserver;
1111
use Magento\Payment\Gateway\Request\BuilderInterface;
1212
use Magento\Payment\Helper\Formatter;
1313

@@ -36,9 +36,8 @@ class PaymentDataBuilder implements BuilderInterface
3636
const PAYMENT_METHOD_NONCE = 'paymentMethodNonce';
3737

3838
/**
39-
* The merchant account ID used to create a transaction.
40-
* Currency is also determined by merchant account ID.
41-
* If no merchant account ID is specified, Braintree will use your default merchant account.
39+
* @deprecated
40+
* @see \Magento\Braintree\Gateway\Request\MerchantAccountDataBuilder
4241
*/
4342
const MERCHANT_ACCOUNT_ID = 'merchantAccountId';
4443

@@ -47,25 +46,18 @@ class PaymentDataBuilder implements BuilderInterface
4746
*/
4847
const ORDER_ID = 'orderId';
4948

50-
/**
51-
* @var Config
52-
*/
53-
private $config;
54-
5549
/**
5650
* @var SubjectReader
5751
*/
5852
private $subjectReader;
5953

6054
/**
61-
* Constructor
62-
*
6355
* @param Config $config
6456
* @param SubjectReader $subjectReader
57+
* @SuppressWarnings(PHPMD.UnusedFormalParameter)
6558
*/
6659
public function __construct(Config $config, SubjectReader $subjectReader)
6760
{
68-
$this->config = $config;
6961
$this->subjectReader = $subjectReader;
7062
}
7163

@@ -87,11 +79,6 @@ public function build(array $buildSubject)
8779
self::ORDER_ID => $order->getOrderIncrementId()
8880
];
8981

90-
$merchantAccountId = $this->config->getMerchantAccountId($order->getStoreId());
91-
if (!empty($merchantAccountId)) {
92-
$result[self::MERCHANT_ACCOUNT_ID] = $merchantAccountId;
93-
}
94-
9582
return $result;
9683
}
9784
}

app/code/Magento/Braintree/Test/Unit/Gateway/Request/PaymentDataBuilderTest.php

Lines changed: 8 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,14 @@
55
*/
66
namespace Magento\Braintree\Test\Unit\Gateway\Request;
77

8-
use Magento\Braintree\Gateway\Config\Config;
9-
use Magento\Braintree\Gateway\SubjectReader;
108
use Magento\Braintree\Gateway\Request\PaymentDataBuilder;
9+
use Magento\Braintree\Gateway\SubjectReader;
1110
use Magento\Braintree\Observer\DataAssignObserver;
1211
use Magento\Payment\Gateway\Data\OrderAdapterInterface;
1312
use Magento\Payment\Gateway\Data\PaymentDataObjectInterface;
1413
use Magento\Sales\Model\Order\Payment;
1514
use PHPUnit_Framework_MockObject_MockObject as MockObject;
15+
use Magento\Braintree\Gateway\Config\Config;
1616

1717
/**
1818
* Class PaymentDataBuilderTest
@@ -29,11 +29,6 @@ class PaymentDataBuilderTest extends \PHPUnit\Framework\TestCase
2929
*/
3030
private $builder;
3131

32-
/**
33-
* @var Config|MockObject
34-
*/
35-
private $config;
36-
3732
/**
3833
* @var Payment|MockObject
3934
*/
@@ -52,15 +47,16 @@ class PaymentDataBuilderTest extends \PHPUnit\Framework\TestCase
5247
protected function setUp()
5348
{
5449
$this->paymentDO = $this->createMock(PaymentDataObjectInterface::class);
55-
$this->config = $this->getMockBuilder(Config::class)
56-
->disableOriginalConstructor()
57-
->getMock();
5850
$this->payment = $this->getMockBuilder(Payment::class)
5951
->disableOriginalConstructor()
6052
->getMock();
6153
$this->order = $this->createMock(OrderAdapterInterface::class);
6254

63-
$this->builder = new PaymentDataBuilder($this->config, new SubjectReader());
55+
$config = $this->getMockBuilder(Config::class)
56+
->disableOriginalConstructor()
57+
->getMock();
58+
59+
$this->builder = new PaymentDataBuilder($config, new SubjectReader());
6460
}
6561

6662
/**
@@ -98,8 +94,7 @@ public function testBuild()
9894
$expectedResult = [
9995
PaymentDataBuilder::AMOUNT => 10.00,
10096
PaymentDataBuilder::PAYMENT_METHOD_NONCE => self::PAYMENT_METHOD_NONCE,
101-
PaymentDataBuilder::ORDER_ID => '000000101',
102-
PaymentDataBuilder::MERCHANT_ACCOUNT_ID => self::MERCHANT_ACCOUNT_ID,
97+
PaymentDataBuilder::ORDER_ID => '000000101'
10398
];
10499

105100
$buildSubject = [
@@ -111,9 +106,6 @@ public function testBuild()
111106
->method('getAdditionalInformation')
112107
->willReturnMap($additionalData);
113108

114-
$this->config->method('getMerchantAccountId')
115-
->willReturn(self::MERCHANT_ACCOUNT_ID);
116-
117109
$this->paymentDO->method('getPayment')
118110
->willReturn($this->payment);
119111

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
<item name="vault" xsi:type="string">Magento\Braintree\Gateway\Request\VaultDataBuilder</item>
3030
<item name="dynamic_descriptor" xsi:type="string">Magento\Braintree\Gateway\Request\DescriptorDataBuilder</item>
3131
<item name="store" xsi:type="string">Magento\Braintree\Gateway\Request\StoreConfigBuilder</item>
32+
<item name="merchant_account" xsi:type="string">Magento\Braintree\Gateway\Request\MerchantAccountDataBuilder</item>
3233
</argument>
3334
</arguments>
3435
</virtualType>
@@ -41,6 +42,7 @@
4142
<item name="address" xsi:type="string">Magento\Braintree\Gateway\Request\AddressDataBuilder</item>
4243
<item name="dynamic_descriptor" xsi:type="string">Magento\Braintree\Gateway\Request\DescriptorDataBuilder</item>
4344
<item name="store" xsi:type="string">Magento\Braintree\Gateway\Request\StoreConfigBuilder</item>
45+
<item name="merchant_account" xsi:type="string">Magento\Braintree\Gateway\Request\MerchantAccountDataBuilder</item>
4446
</argument>
4547
</arguments>
4648
</virtualType>

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

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -233,6 +233,7 @@
233233
<item name="device_data" xsi:type="string">Magento\Braintree\Gateway\Request\KountPaymentDataBuilder</item>
234234
<item name="dynamic_descriptor" xsi:type="string">Magento\Braintree\Gateway\Request\DescriptorDataBuilder</item>
235235
<item name="store" xsi:type="string">Magento\Braintree\Gateway\Request\StoreConfigBuilder</item>
236+
<item name="merchant_account" xsi:type="string">Magento\Braintree\Gateway\Request\MerchantAccountDataBuilder</item>
236237
</argument>
237238
</arguments>
238239
</virtualType>
@@ -291,6 +292,7 @@
291292
<item name="device_data" xsi:type="string">Magento\Braintree\Gateway\Request\KountPaymentDataBuilder</item>
292293
<item name="dynamic_descriptor" xsi:type="string">Magento\Braintree\Gateway\Request\DescriptorDataBuilder</item>
293294
<item name="store" xsi:type="string">Magento\Braintree\Gateway\Request\StoreConfigBuilder</item>
295+
<item name="merchant_account" xsi:type="string">Magento\Braintree\Gateway\Request\MerchantAccountDataBuilder</item>
294296
</argument>
295297
</arguments>
296298
</virtualType>
@@ -325,6 +327,7 @@
325327
<item name="vault_capture" xsi:type="string">Magento\Braintree\Gateway\Request\VaultCaptureDataBuilder</item>
326328
<item name="settlement" xsi:type="string">Magento\Braintree\Gateway\Request\SettlementDataBuilder</item>
327329
<item name="store" xsi:type="string">Magento\Braintree\Gateway\Request\StoreConfigBuilder</item>
330+
<item name="merchant_account" xsi:type="string">Magento\Braintree\Gateway\Request\MerchantAccountDataBuilder</item>
328331
</argument>
329332
</arguments>
330333
</virtualType>
@@ -347,6 +350,7 @@
347350
<item name="device_data" xsi:type="string">Magento\Braintree\Gateway\Request\PayPal\DeviceDataBuilder</item>
348351
<item name="dynamic_descriptor" xsi:type="string">Magento\Braintree\Gateway\Request\DescriptorDataBuilder</item>
349352
<item name="store" xsi:type="string">Magento\Braintree\Gateway\Request\StoreConfigBuilder</item>
353+
<item name="merchant_account" xsi:type="string">Magento\Braintree\Gateway\Request\MerchantAccountDataBuilder</item>
350354
</argument>
351355
</arguments>
352356
</virtualType>
@@ -380,6 +384,7 @@
380384
<item name="address" xsi:type="string">Magento\Braintree\Gateway\Request\AddressDataBuilder</item>
381385
<item name="dynamic_descriptor" xsi:type="string">Magento\Braintree\Gateway\Request\DescriptorDataBuilder</item>
382386
<item name="store" xsi:type="string">Magento\Braintree\Gateway\Request\StoreConfigBuilder</item>
387+
<item name="merchant_account" xsi:type="string">Magento\Braintree\Gateway\Request\MerchantAccountDataBuilder</item>
383388
</argument>
384389
</arguments>
385390
</virtualType>

app/code/Magento/Braintree/view/frontend/web/template/payment/paypal.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
data-bind="attr: {'id': getCode()}, value: getCode(), checked: isChecked, click: selectPaymentMethod, visible: isRadioButtonVisible()" />
1313
<label class="label" data-bind="attr: {'for': getCode()}">
1414
<!-- PayPal Logo -->
15-
<img data-bind="attr: {src: getPaymentAcceptanceMarkSrc(), alt: $t('Acceptance Mark')}, title: $t('Acceptance Mark')}"
15+
<img data-bind="attr: {src: getPaymentAcceptanceMarkSrc(), alt: $t('Acceptance Mark'), title: $t('Acceptance Mark')}"
1616
class="payment-icon"/>
1717
<!-- PayPal Logo -->
1818
<span text="getTitle()"></span>

app/code/Magento/Catalog/Controller/Adminhtml/Category/Image/Upload.php

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -54,14 +54,6 @@ public function execute()
5454

5555
try {
5656
$result = $this->imageUploader->saveFileToTmpDir($imageId);
57-
58-
$result['cookie'] = [
59-
'name' => $this->_getSession()->getName(),
60-
'value' => $this->_getSession()->getSessionId(),
61-
'lifetime' => $this->_getSession()->getCookieLifetime(),
62-
'path' => $this->_getSession()->getCookiePath(),
63-
'domain' => $this->_getSession()->getCookieDomain(),
64-
];
6557
} catch (\Exception $e) {
6658
$result = ['error' => $e->getMessage(), 'errorcode' => $e->getCode()];
6759
}

app/code/Magento/Catalog/Controller/Adminhtml/Product/MassDelete.php

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
use Magento\Ui\Component\MassAction\Filter;
1212
use Magento\Catalog\Model\ResourceModel\Product\CollectionFactory;
1313
use Magento\Catalog\Api\ProductRepositoryInterface;
14+
use Magento\Framework\Exception\NotFoundException;
1415

1516
class MassDelete extends \Magento\Catalog\Controller\Adminhtml\Product
1617
{
@@ -54,9 +55,15 @@ public function __construct(
5455

5556
/**
5657
* @return \Magento\Backend\Model\View\Result\Redirect
58+
* @throws NotFoundException
59+
* @throws \Magento\Framework\Exception\LocalizedException
60+
* @throws \Magento\Framework\Exception\StateException
5761
*/
5862
public function execute()
5963
{
64+
if (!$this->getRequest()->isPost()) {
65+
throw new NotFoundException(__('Page not found'));
66+
}
6067
$collection = $this->filter->getCollection($this->collectionFactory->create());
6168
$productDeleted = 0;
6269
/** @var \Magento\Catalog\Model\Product $product */

app/code/Magento/Cms/Model/Wysiwyg/Images/Storage.php

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -500,14 +500,6 @@ public function uploadFile($targetPath, $type = null)
500500
// create thumbnail
501501
$this->resizeFile($targetPath . '/' . $uploader->getUploadedFileName(), true);
502502

503-
$result['cookie'] = [
504-
'name' => $this->getSession()->getName(),
505-
'value' => $this->getSession()->getSessionId(),
506-
'lifetime' => $this->getSession()->getCookieLifetime(),
507-
'path' => $this->getSession()->getCookiePath(),
508-
'domain' => $this->getSession()->getCookieDomain(),
509-
];
510-
511503
return $result;
512504
}
513505

app/code/Magento/Cms/Test/Unit/Model/Wysiwyg/Images/StorageTest.php

Lines changed: 1 addition & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -437,14 +437,7 @@ public function testUploadFile()
437437
$thumbnailDestination = $thumbnailTargetPath . '/' . $fileName;
438438
$type = 'image';
439439
$result = [
440-
'result',
441-
'cookie' => [
442-
'name' => 'session_name',
443-
'value' => '1',
444-
'lifetime' => '50',
445-
'path' => 'cookie/path',
446-
'domain' => 'cookie_domain',
447-
]
440+
'result'
448441
];
449442
$uploader = $this->getMockBuilder(\Magento\MediaStorage\Model\File\Uploader::class)
450443
->disableOriginalConstructor()
@@ -504,17 +497,6 @@ public function testUploadFile()
504497

505498
$this->adapterFactoryMock->expects($this->atLeastOnce())->method('create')->willReturn($image);
506499

507-
$this->sessionMock->expects($this->atLeastOnce())->method('getName')
508-
->willReturn($result['cookie']['name']);
509-
$this->sessionMock->expects($this->atLeastOnce())->method('getSessionId')
510-
->willReturn($result['cookie']['value']);
511-
$this->sessionMock->expects($this->atLeastOnce())->method('getCookieLifetime')
512-
->willReturn($result['cookie']['lifetime']);
513-
$this->sessionMock->expects($this->atLeastOnce())->method('getCookiePath')
514-
->willReturn($result['cookie']['path']);
515-
$this->sessionMock->expects($this->atLeastOnce())->method('getCookieDomain')
516-
->willReturn($result['cookie']['domain']);
517-
518500
$this->assertEquals($result, $this->imagesStorage->uploadFile($targetPath, $type));
519501
}
520502
}

0 commit comments

Comments
 (0)