Skip to content

Commit 00fd29a

Browse files
author
Bohdan Korablov
committed
Merge remote-tracking branch 'mainline_ce/develop' into MAGETWO-39602
2 parents 7228835 + 0df70ba commit 00fd29a

File tree

141 files changed

+9702
-144
lines changed

Some content is hidden

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

141 files changed

+9702
-144
lines changed
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
<?php
2+
/**
3+
* Copyright © 2015 Magento. All rights reserved.
4+
* See COPYING.txt for license details.
5+
*/
6+
namespace Magento\Authorizenet\Block\Adminhtml\Order\View\Info;
7+
8+
use Magento\Authorizenet\Model\Directpost;
9+
10+
class FraudDetails extends \Magento\Backend\Block\Template
11+
{
12+
/**
13+
* @var \Magento\Framework\Registry
14+
*/
15+
protected $registry;
16+
17+
/**
18+
* @param \Magento\Backend\Block\Template\Context $context
19+
* @param \Magento\Framework\Registry $registry
20+
* @param array $data
21+
*/
22+
public function __construct(
23+
\Magento\Backend\Block\Template\Context $context,
24+
\Magento\Framework\Registry $registry,
25+
array $data = []
26+
) {
27+
$this->registry = $registry;
28+
parent::__construct($context, $data);
29+
}
30+
31+
/**
32+
* @return \Magento\Sales\Model\Order\Payment
33+
*/
34+
public function getPayment()
35+
{
36+
$order = $this->registry->registry('current_order');
37+
return $order->getPayment();
38+
}
39+
40+
/**
41+
* @return string
42+
*/
43+
protected function _toHtml()
44+
{
45+
return ($this->getPayment()->getMethod() === Directpost::METHOD_CODE) ? parent::_toHtml() : '';
46+
}
47+
}
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
<?php
2+
/**
3+
* Copyright © 2015 Magento. All rights reserved.
4+
* See COPYING.txt for license details.
5+
*/
6+
namespace Magento\Authorizenet\Block\Transparent;
7+
8+
use Magento\Payment\Block\Transparent\Iframe as TransparentIframe;
9+
10+
/**
11+
* Class Iframe
12+
*/
13+
class Iframe extends TransparentIframe
14+
{
15+
/**
16+
* @var \Magento\Authorizenet\Helper\DataFactory
17+
*/
18+
protected $dataFactory;
19+
20+
/**
21+
* Constructor
22+
*
23+
* @param \Magento\Framework\View\Element\Template\Context $context
24+
* @param \Magento\Framework\Registry $registry
25+
* @param \Magento\Authorizenet\Helper\DataFactory $dataFactory
26+
* @param array $data
27+
*/
28+
public function __construct(
29+
\Magento\Framework\View\Element\Template\Context $context,
30+
\Magento\Framework\Registry $registry,
31+
\Magento\Authorizenet\Helper\DataFactory $dataFactory,
32+
array $data = []
33+
) {
34+
$this->dataFactory = $dataFactory;
35+
parent::__construct($context, $registry, $data);
36+
}
37+
38+
/**
39+
* Get helper data
40+
*
41+
* @param string $area
42+
* @return \Magento\Authorizenet\Helper\Backend\Data|\Magento\Authorizenet\Helper\Data
43+
*/
44+
public function getHelper($area)
45+
{
46+
return $this->dataFactory->create($area);
47+
}
48+
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<?php
2+
/**
3+
*
4+
* Copyright © 2015 Magento. All rights reserved.
5+
* See COPYING.txt for license details.
6+
*/
7+
namespace Magento\Authorizenet\Controller\Adminhtml\Authorizenet\Directpost\Payment;
8+
9+
class AddConfigured extends \Magento\Sales\Controller\Adminhtml\Order\Create\AddConfigured
10+
{
11+
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<?php
2+
/**
3+
*
4+
* Copyright © 2015 Magento. All rights reserved.
5+
* See COPYING.txt for license details.
6+
*/
7+
namespace Magento\Authorizenet\Controller\Adminhtml\Authorizenet\Directpost\Payment;
8+
9+
class Cancel extends \Magento\Sales\Controller\Adminhtml\Order\Create\Cancel
10+
{
11+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<?php
2+
/**
3+
*
4+
* Copyright © 2015 Magento. All rights reserved.
5+
* See COPYING.txt for license details.
6+
*/
7+
namespace Magento\Authorizenet\Controller\Adminhtml\Authorizenet\Directpost\Payment;
8+
9+
class ConfigureProductToAdd extends \Magento\Sales\Controller\Adminhtml\Order\Create\ConfigureProductToAdd
10+
{
11+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<?php
2+
/**
3+
*
4+
* Copyright © 2015 Magento. All rights reserved.
5+
* See COPYING.txt for license details.
6+
*/
7+
namespace Magento\Authorizenet\Controller\Adminhtml\Authorizenet\Directpost\Payment;
8+
9+
class ConfigureQuoteItems extends \Magento\Sales\Controller\Adminhtml\Order\Create\ConfigureQuoteItems
10+
{
11+
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<?php
2+
/**
3+
*
4+
* Copyright © 2015 Magento. All rights reserved.
5+
* See COPYING.txt for license details.
6+
*/
7+
namespace Magento\Authorizenet\Controller\Adminhtml\Authorizenet\Directpost\Payment;
8+
9+
class Index extends \Magento\Sales\Controller\Adminhtml\Order\Create\Index
10+
{
11+
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<?php
2+
/**
3+
*
4+
* Copyright © 2015 Magento. All rights reserved.
5+
* See COPYING.txt for license details.
6+
*/
7+
namespace Magento\Authorizenet\Controller\Adminhtml\Authorizenet\Directpost\Payment;
8+
9+
class LoadBlock extends \Magento\Sales\Controller\Adminhtml\Order\Create\LoadBlock
10+
{
11+
}
Lines changed: 150 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,150 @@
1+
<?php
2+
/**
3+
* Copyright © 2015 Magento. All rights reserved.
4+
* See COPYING.txt for license details.
5+
*/
6+
namespace Magento\Authorizenet\Controller\Adminhtml\Authorizenet\Directpost\Payment;
7+
8+
use Magento\Framework\Escaper;
9+
use Magento\Catalog\Helper\Product;
10+
use Magento\Backend\App\Action\Context;
11+
use Magento\Framework\View\Result\PageFactory;
12+
use Magento\Backend\Model\View\Result\ForwardFactory;
13+
use Magento\Authorizenet\Helper\Backend\Data as DataHelper;
14+
15+
/**
16+
* Class Place
17+
*/
18+
class Place extends \Magento\Sales\Controller\Adminhtml\Order\Create
19+
{
20+
/**
21+
* @var DataHelper
22+
*/
23+
protected $helper;
24+
25+
/**
26+
* Constructor
27+
*
28+
* @param Context $context
29+
* @param Product $productHelper
30+
* @param Escaper $escaper
31+
* @param PageFactory $resultPageFactory
32+
* @param ForwardFactory $resultForwardFactory
33+
* @param DataHelper $helper
34+
*/
35+
public function __construct(
36+
Context $context,
37+
Product $productHelper,
38+
Escaper $escaper,
39+
PageFactory $resultPageFactory,
40+
ForwardFactory $resultForwardFactory,
41+
DataHelper $helper
42+
) {
43+
$this->helper = $helper;
44+
parent::__construct($context, $productHelper, $escaper, $resultPageFactory, $resultForwardFactory);
45+
}
46+
47+
/**
48+
* Send request to authorize.net
49+
*
50+
* @return void
51+
* @SuppressWarnings(PHPMD.CyclomaticComplexity)
52+
* @SuppressWarnings(PHPMD.UnusedLocalVariable)
53+
*/
54+
public function execute()
55+
{
56+
$paymentParam = $this->getRequest()->getParam('payment');
57+
$controller = $this->getRequest()->getParam('controller');
58+
$this->getRequest()->setPostValue('collect_shipping_rates', 1);
59+
$this->_processActionData('save');
60+
61+
//get confirmation by email flag
62+
$orderData = $this->getRequest()->getPost('order');
63+
$sendConfirmationFlag = 0;
64+
if ($orderData) {
65+
$sendConfirmationFlag = !empty($orderData['send_confirmation']) ? 1 : 0;
66+
} else {
67+
$orderData = [];
68+
}
69+
70+
if (isset($paymentParam['method'])) {
71+
$result = [];
72+
//create order partially
73+
$this->_getOrderCreateModel()->setPaymentData($paymentParam);
74+
$this->_getOrderCreateModel()->getQuote()->getPayment()->addData($paymentParam);
75+
76+
$orderData['send_confirmation'] = 0;
77+
$this->getRequest()->setPostValue('order', $orderData);
78+
79+
try {
80+
//do not cancel old order.
81+
$oldOrder = $this->_getOrderCreateModel()->getSession()->getOrder();
82+
$oldOrder->setActionFlag(\Magento\Sales\Model\Order::ACTION_FLAG_CANCEL, false);
83+
84+
$order = $this->_getOrderCreateModel()->setIsValidate(
85+
true
86+
)->importPostData(
87+
$this->getRequest()->getPost('order')
88+
)->createOrder();
89+
90+
$payment = $order->getPayment();
91+
if ($payment && $payment->getMethod() == $this->_objectManager->create(
92+
'Magento\Authorizenet\Model\Directpost'
93+
)->getCode()
94+
) {
95+
//return json with data.
96+
$session = $this->_objectManager->get('Magento\Authorizenet\Model\Directpost\Session');
97+
$session->addCheckoutOrderIncrementId($order->getIncrementId());
98+
$session->setLastOrderIncrementId($order->getIncrementId());
99+
100+
/** @var \Magento\Authorizenet\Model\Directpost $method */
101+
$method = $payment->getMethodInstance();
102+
$method->setDataHelper($this->helper);
103+
$requestToAuthorizenet = $method->generateRequestFromOrder($order);
104+
$requestToAuthorizenet->setControllerActionName($controller);
105+
$requestToAuthorizenet->setOrderSendConfirmation($sendConfirmationFlag);
106+
$requestToAuthorizenet->setStoreId($this->_getOrderCreateModel()->getQuote()->getStoreId());
107+
108+
$adminUrl = $this->_objectManager->get('Magento\Backend\Model\UrlInterface');
109+
if ($adminUrl->useSecretKey()) {
110+
$requestToAuthorizenet->setKey(
111+
$adminUrl->getSecretKey('adminhtml', 'authorizenet_directpost_payment', 'redirect')
112+
);
113+
}
114+
$result['directpost'] = ['fields' => $requestToAuthorizenet->getData()];
115+
}
116+
117+
$result['success'] = 1;
118+
$isError = false;
119+
} catch (\Magento\Framework\Exception\LocalizedException $e) {
120+
$message = $e->getMessage();
121+
if (!empty($message)) {
122+
$this->messageManager->addError($message);
123+
}
124+
$isError = true;
125+
} catch (\Exception $e) {
126+
$this->messageManager->addException($e, __('Order saving error: %1', $e->getMessage()));
127+
$isError = true;
128+
}
129+
130+
if ($isError) {
131+
$result['success'] = 0;
132+
$result['error'] = 1;
133+
$result['redirect'] = $this->_objectManager->get(
134+
'Magento\Backend\Model\UrlInterface'
135+
)->getUrl(
136+
'sales/order_create/'
137+
);
138+
}
139+
140+
$this->getResponse()->representJson(
141+
$this->_objectManager->get('Magento\Framework\Json\Helper\Data')->jsonEncode($result)
142+
);
143+
} else {
144+
$result = ['error_messages' => __('Please choose a payment method.')];
145+
$this->getResponse()->representJson(
146+
$this->_objectManager->get('Magento\Framework\Json\Helper\Data')->jsonEncode($result)
147+
);
148+
}
149+
}
150+
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<?php
2+
/**
3+
*
4+
* Copyright © 2015 Magento. All rights reserved.
5+
* See COPYING.txt for license details.
6+
*/
7+
namespace Magento\Authorizenet\Controller\Adminhtml\Authorizenet\Directpost\Payment;
8+
9+
class ProcessData extends \Magento\Sales\Controller\Adminhtml\Order\Create\ProcessData
10+
{
11+
}

0 commit comments

Comments
 (0)