Skip to content
This repository was archived by the owner on Apr 29, 2019. It is now read-only.

Commit 040e396

Browse files
authored
Merge pull request #2 from Karlasa/2.3-develop-PR-port-16190
[Forwardport] #16079 translation possibility for moreButtonText
2 parents e96dc9f + abcded5 commit 040e396

File tree

583 files changed

+13321
-34018
lines changed

Some content is hidden

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

583 files changed

+13321
-34018
lines changed

app/code/Magento/Authorizenet/Model/Directpost.php

Lines changed: 57 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,9 @@
55
*/
66
namespace Magento\Authorizenet\Model;
77

8-
use Magento\Framework\HTTP\ZendClientFactory;
8+
use Magento\Framework\App\ObjectManager;
99
use Magento\Payment\Model\Method\ConfigInterface;
1010
use Magento\Payment\Model\Method\TransparentInterface;
11-
use Magento\Sales\Model\Order\Email\Sender\OrderSender;
1211

1312
/**
1413
* Authorize.net DirectPost payment method model.
@@ -102,7 +101,7 @@ class Directpost extends \Magento\Authorizenet\Model\Authorizenet implements Tra
102101
protected $response;
103102

104103
/**
105-
* @var OrderSender
104+
* @var \Magento\Sales\Model\Order\Email\Sender\OrderSender
106105
*/
107106
protected $orderSender;
108107

@@ -123,6 +122,16 @@ class Directpost extends \Magento\Authorizenet\Model\Authorizenet implements Tra
123122
*/
124123
private $psrLogger;
125124

125+
/**
126+
* @var \Magento\Sales\Api\PaymentFailuresInterface
127+
*/
128+
private $paymentFailures;
129+
130+
/**
131+
* @var \Magento\Sales\Model\Order
132+
*/
133+
private $order;
134+
126135
/**
127136
* @param \Magento\Framework\Model\Context $context
128137
* @param \Magento\Framework\Registry $registry
@@ -134,18 +143,19 @@ class Directpost extends \Magento\Authorizenet\Model\Authorizenet implements Tra
134143
* @param \Magento\Framework\Module\ModuleListInterface $moduleList
135144
* @param \Magento\Framework\Stdlib\DateTime\TimezoneInterface $localeDate
136145
* @param \Magento\Authorizenet\Helper\Data $dataHelper
137-
* @param Directpost\Request\Factory $requestFactory
138-
* @param Directpost\Response\Factory $responseFactory
146+
* @param \Magento\Authorizenet\Model\Directpost\Request\Factory $requestFactory
147+
* @param \Magento\Authorizenet\Model\Directpost\Response\Factory $responseFactory
139148
* @param \Magento\Authorizenet\Model\TransactionService $transactionService
140149
* @param \Magento\Framework\HTTP\ZendClientFactory $httpClientFactory
141150
* @param \Magento\Sales\Model\OrderFactory $orderFactory
142151
* @param \Magento\Store\Model\StoreManagerInterface $storeManager
143152
* @param \Magento\Quote\Api\CartRepositoryInterface $quoteRepository
144-
* @param OrderSender $orderSender
153+
* @param \Magento\Sales\Model\Order\Email\Sender\OrderSender $orderSender
145154
* @param \Magento\Sales\Api\TransactionRepositoryInterface $transactionRepository
146155
* @param \Magento\Framework\Model\ResourceModel\AbstractResource $resource
147156
* @param \Magento\Framework\Data\Collection\AbstractDb $resourceCollection
148157
* @param array $data
158+
* @param \Magento\Sales\Api\PaymentFailuresInterface|null $paymentFailures
149159
* @SuppressWarnings(PHPMD.ExcessiveParameterList)
150160
*/
151161
public function __construct(
@@ -161,16 +171,17 @@ public function __construct(
161171
\Magento\Authorizenet\Helper\Data $dataHelper,
162172
\Magento\Authorizenet\Model\Directpost\Request\Factory $requestFactory,
163173
\Magento\Authorizenet\Model\Directpost\Response\Factory $responseFactory,
164-
TransactionService $transactionService,
165-
ZendClientFactory $httpClientFactory,
174+
\Magento\Authorizenet\Model\TransactionService $transactionService,
175+
\Magento\Framework\HTTP\ZendClientFactory $httpClientFactory,
166176
\Magento\Sales\Model\OrderFactory $orderFactory,
167177
\Magento\Store\Model\StoreManagerInterface $storeManager,
168178
\Magento\Quote\Api\CartRepositoryInterface $quoteRepository,
169179
\Magento\Sales\Model\Order\Email\Sender\OrderSender $orderSender,
170180
\Magento\Sales\Api\TransactionRepositoryInterface $transactionRepository,
171181
\Magento\Framework\Model\ResourceModel\AbstractResource $resource = null,
172182
\Magento\Framework\Data\Collection\AbstractDb $resourceCollection = null,
173-
array $data = []
183+
array $data = [],
184+
\Magento\Sales\Api\PaymentFailuresInterface $paymentFailures = null
174185
) {
175186
$this->orderFactory = $orderFactory;
176187
$this->storeManager = $storeManager;
@@ -179,6 +190,8 @@ public function __construct(
179190
$this->orderSender = $orderSender;
180191
$this->transactionRepository = $transactionRepository;
181192
$this->_code = static::METHOD_CODE;
193+
$this->paymentFailures = $paymentFailures ? : ObjectManager::getInstance()
194+
->get(\Magento\Sales\Api\PaymentFailuresInterface::class);
182195

183196
parent::__construct(
184197
$context,
@@ -561,13 +574,10 @@ public function process(array $responseData)
561574
$this->validateResponse();
562575

563576
$response = $this->getResponse();
564-
//operate with order
565-
$orderIncrementId = $response->getXInvoiceNum();
566577
$responseText = $this->dataHelper->wrapGatewayError($response->getXResponseReasonText());
567578
$isError = false;
568-
if ($orderIncrementId) {
569-
/* @var $order \Magento\Sales\Model\Order */
570-
$order = $this->orderFactory->create()->loadByIncrementId($orderIncrementId);
579+
if ($this->getOrderIncrementId()) {
580+
$order = $this->getOrderFromResponse();
571581
//check payment method
572582
$payment = $order->getPayment();
573583
if (!$payment || $payment->getMethod() != $this->getCode()) {
@@ -632,9 +642,10 @@ public function checkResponseCode()
632642
return true;
633643
case self::RESPONSE_CODE_DECLINED:
634644
case self::RESPONSE_CODE_ERROR:
635-
throw new \Magento\Framework\Exception\LocalizedException(
636-
$this->dataHelper->wrapGatewayError($this->getResponse()->getXResponseReasonText())
637-
);
645+
$errorMessage = $this->dataHelper->wrapGatewayError($this->getResponse()->getXResponseReasonText());
646+
$order = $this->getOrderFromResponse();
647+
$this->paymentFailures->handle((int)$order->getQuoteId(), $errorMessage);
648+
throw new \Magento\Framework\Exception\LocalizedException($errorMessage);
638649
default:
639650
throw new \Magento\Framework\Exception\LocalizedException(
640651
__('There was a payment authorization error.')
@@ -988,12 +999,40 @@ protected function getTransactionResponse($transactionId)
988999
private function getPsrLogger()
9891000
{
9901001
if (null === $this->psrLogger) {
991-
$this->psrLogger = \Magento\Framework\App\ObjectManager::getInstance()
1002+
$this->psrLogger = ObjectManager::getInstance()
9921003
->get(\Psr\Log\LoggerInterface::class);
9931004
}
9941005
return $this->psrLogger;
9951006
}
9961007

1008+
/**
1009+
* Fetch order by increment id from response.
1010+
*
1011+
* @return \Magento\Sales\Model\Order
1012+
*/
1013+
private function getOrderFromResponse(): \Magento\Sales\Model\Order
1014+
{
1015+
if (!$this->order) {
1016+
$this->order = $this->orderFactory->create();
1017+
1018+
if ($incrementId = $this->getOrderIncrementId()) {
1019+
$this->order = $this->order->loadByIncrementId($incrementId);
1020+
}
1021+
}
1022+
1023+
return $this->order;
1024+
}
1025+
1026+
/**
1027+
* Fetch order increment id from response.
1028+
*
1029+
* @return string
1030+
*/
1031+
private function getOrderIncrementId(): string
1032+
{
1033+
return $this->getResponse()->getXInvoiceNum();
1034+
}
1035+
9971036
/**
9981037
* Checks if filter action is Report Only. Transactions that trigger this filter are processed as normal,
9991038
* but are also reported in the Merchant Interface as triggering this filter.

app/code/Magento/Authorizenet/Test/Unit/Model/DirectpostTest.php

Lines changed: 44 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
*/
66
namespace Magento\Authorizenet\Test\Unit\Model;
77

8+
use Magento\Sales\Api\PaymentFailuresInterface;
89
use Magento\Framework\Simplexml\Element;
910
use Magento\Framework\TestFramework\Unit\Helper\ObjectManager as ObjectManagerHelper;
1011
use Magento\Authorizenet\Model\Directpost;
@@ -74,6 +75,14 @@ class DirectpostTest extends \PHPUnit\Framework\TestCase
7475
*/
7576
protected $requestFactory;
7677

78+
/**
79+
* @var PaymentFailuresInterface|\PHPUnit_Framework_MockObject_MockObject
80+
*/
81+
private $paymentFailures;
82+
83+
/**
84+
* @inheritdoc
85+
*/
7786
protected function setUp()
7887
{
7988
$this->scopeConfigMock = $this->getMockBuilder(\Magento\Framework\App\Config\ScopeConfigInterface::class)
@@ -104,6 +113,12 @@ protected function setUp()
104113
->setMethods(['getTransactionDetails'])
105114
->getMock();
106115

116+
$this->paymentFailures = $this->getMockBuilder(
117+
PaymentFailuresInterface::class
118+
)
119+
->disableOriginalConstructor()
120+
->getMock();
121+
107122
$this->requestFactory = $this->getRequestFactoryMock();
108123
$httpClientFactoryMock = $this->getHttpClientFactoryMock();
109124

@@ -117,7 +132,8 @@ protected function setUp()
117132
'responseFactory' => $this->responseFactoryMock,
118133
'transactionRepository' => $this->transactionRepositoryMock,
119134
'transactionService' => $this->transactionServiceMock,
120-
'httpClientFactory' => $httpClientFactoryMock
135+
'httpClientFactory' => $httpClientFactoryMock,
136+
'paymentFailures' => $this->paymentFailures,
121137
]
122138
);
123139
}
@@ -313,12 +329,16 @@ public function checkResponseCodeSuccessDataProvider()
313329
}
314330

315331
/**
316-
* @param bool $responseCode
332+
* Checks response failures behaviour.
333+
*
334+
* @param int $responseCode
335+
* @param int $failuresHandlerCalls
336+
* @return void
317337
*
318338
* @expectedException \Magento\Framework\Exception\LocalizedException
319339
* @dataProvider checkResponseCodeFailureDataProvider
320340
*/
321-
public function testCheckResponseCodeFailure($responseCode)
341+
public function testCheckResponseCodeFailure(int $responseCode, int $failuresHandlerCalls): void
322342
{
323343
$reasonText = 'reason text';
324344

@@ -333,18 +353,35 @@ public function testCheckResponseCodeFailure($responseCode)
333353
->with($reasonText)
334354
->willReturn(__('Gateway error: %1', $reasonText));
335355

356+
$orderMock = $this->getMockBuilder(Order::class)
357+
->disableOriginalConstructor()
358+
->getMock();
359+
360+
$orderMock->expects($this->exactly($failuresHandlerCalls))
361+
->method('getQuoteId')
362+
->willReturn(1);
363+
364+
$this->paymentFailures->expects($this->exactly($failuresHandlerCalls))
365+
->method('handle')
366+
->with(1);
367+
368+
$reflection = new \ReflectionClass($this->directpost);
369+
$order = $reflection->getProperty('order');
370+
$order->setAccessible(true);
371+
$order->setValue($this->directpost, $orderMock);
372+
336373
$this->directpost->checkResponseCode();
337374
}
338375

339376
/**
340377
* @return array
341378
*/
342-
public function checkResponseCodeFailureDataProvider()
379+
public function checkResponseCodeFailureDataProvider(): array
343380
{
344381
return [
345-
['responseCode' => Directpost::RESPONSE_CODE_DECLINED],
346-
['responseCode' => Directpost::RESPONSE_CODE_ERROR],
347-
['responseCode' => 999999]
382+
['responseCode' => Directpost::RESPONSE_CODE_DECLINED, 1],
383+
['responseCode' => Directpost::RESPONSE_CODE_ERROR, 1],
384+
['responseCode' => 999999, 0],
348385
];
349386
}
350387

app/code/Magento/Backend/App/AbstractAction.php

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -217,6 +217,7 @@ public function dispatch(\Magento\Framework\App\RequestInterface $request)
217217
$this->_view->loadLayout(['default', 'adminhtml_denied'], true, true, false);
218218
$this->_view->renderLayout();
219219
$this->_request->setDispatched(true);
220+
220221
return $this->_response;
221222
}
222223

@@ -226,6 +227,11 @@ public function dispatch(\Magento\Framework\App\RequestInterface $request)
226227

227228
$this->_processLocaleSettings();
228229

230+
// Need to preload isFirstPageAfterLogin (see https://github.com/magento/magento2/issues/15510)
231+
if ($this->_auth->isLoggedIn()) {
232+
$this->_auth->getAuthStorage()->isFirstPageAfterLogin();
233+
}
234+
229235
return parent::dispatch($request);
230236
}
231237

app/code/Magento/Backend/Block/Dashboard.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ class Dashboard extends \Magento\Backend\Block\Template
2020
/**
2121
* @var string
2222
*/
23-
protected $_template = 'dashboard/index.phtml';
23+
protected $_template = 'Magento_Backend::dashboard/index.phtml';
2424

2525
/**
2626
* @return void

app/code/Magento/Backend/Block/Dashboard/Graph.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ class Graph extends \Magento\Backend\Block\Dashboard\AbstractDashboard
9090
/**
9191
* @var string
9292
*/
93-
protected $_template = 'dashboard/graph.phtml';
93+
protected $_template = 'Magento_Backend::dashboard/graph.phtml';
9494

9595
/**
9696
* Adminhtml dashboard data

app/code/Magento/Backend/Block/Dashboard/Grid.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ class Grid extends \Magento\Backend\Block\Widget\Grid\Extended
1717
/**
1818
* @var string
1919
*/
20-
protected $_template = 'dashboard/grid.phtml';
20+
protected $_template = 'Magento_Backend::dashboard/grid.phtml';
2121

2222
/**
2323
* Setting default for every grid on dashboard

app/code/Magento/Backend/Block/Dashboard/Sales.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ class Sales extends \Magento\Backend\Block\Dashboard\Bar
1515
/**
1616
* @var string
1717
*/
18-
protected $_template = 'dashboard/salebar.phtml';
18+
protected $_template = 'Magento_Backend::dashboard/salebar.phtml';
1919

2020
/**
2121
* @var \Magento\Framework\Module\Manager

app/code/Magento/Backend/Block/Dashboard/Totals.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ class Totals extends \Magento\Backend\Block\Dashboard\Bar
1616
/**
1717
* @var string
1818
*/
19-
protected $_template = 'dashboard/totalbar.phtml';
19+
protected $_template = 'Magento_Backend::dashboard/totalbar.phtml';
2020

2121
/**
2222
* @var \Magento\Framework\Module\Manager

app/code/Magento/Backend/Block/GlobalSearch.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ public function getWidgetInitOptions()
3131
'filterProperty' => 'name',
3232
'preventClickPropagation' => false,
3333
'minLength' => 2,
34+
'submitInputOnEnter' => false,
3435
]
3536
];
3637
}

app/code/Magento/Backend/Block/Page/Copyright.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,5 +18,5 @@ class Copyright extends \Magento\Backend\Block\Template
1818
*
1919
* @var string
2020
*/
21-
protected $_template = 'page/copyright.phtml';
21+
protected $_template = 'Magento_Backend::page/copyright.phtml';
2222
}

app/code/Magento/Backend/Block/Page/Footer.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ class Footer extends \Magento\Backend\Block\Template
1717
/**
1818
* @var string
1919
*/
20-
protected $_template = 'page/footer.phtml';
20+
protected $_template = 'Magento_Backend::page/footer.phtml';
2121

2222
/**
2323
* @var \Magento\Framework\App\ProductMetadataInterface

app/code/Magento/Backend/Block/Page/Header.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ class Header extends \Magento\Backend\Block\Template
1818
/**
1919
* @var string
2020
*/
21-
protected $_template = 'page/header.phtml';
21+
protected $_template = 'Magento_Backend::page/header.phtml';
2222

2323
/**
2424
* Backend data

app/code/Magento/Backend/Block/Store/Switcher/Form/Renderer/Fieldset.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ class Fieldset extends \Magento\Backend\Block\Template implements RendererInterf
2525
/**
2626
* @var string
2727
*/
28-
protected $_template = 'store/switcher/form/renderer/fieldset.phtml';
28+
protected $_template = 'Magento_Backend::store/switcher/form/renderer/fieldset.phtml';
2929

3030
/**
3131
* Retrieve an element

app/code/Magento/Backend/Block/Store/Switcher/Form/Renderer/Fieldset/Element.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ class Element extends \Magento\Backend\Block\Widget\Form\Renderer\Fieldset\Eleme
2323
/**
2424
* @var string
2525
*/
26-
protected $_template = 'store/switcher/form/renderer/fieldset/element.phtml';
26+
protected $_template = 'Magento_Backend::store/switcher/form/renderer/fieldset/element.phtml';
2727

2828
/**
2929
* Retrieve an element

app/code/Magento/Backend/Block/Widget/Grid/Column/Renderer/Currency.php

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -68,10 +68,7 @@ public function __construct(
6868
$this->_storeManager = $storeManager;
6969
$this->_currencyLocator = $currencyLocator;
7070
$this->_localeCurrency = $localeCurrency;
71-
$defaultBaseCurrencyCode = $this->_scopeConfig->getValue(
72-
\Magento\Directory\Model\Currency::XML_PATH_CURRENCY_BASE,
73-
'default'
74-
);
71+
$defaultBaseCurrencyCode = $currencyLocator->getDefaultCurrency($this->_request);
7572
$this->_defaultBaseCurrency = $currencyFactory->create()->load($defaultBaseCurrencyCode);
7673
}
7774

0 commit comments

Comments
 (0)