Skip to content

Commit

Permalink
Milestone 3 - Risk Management (#21)
Browse files Browse the repository at this point in the history
* Milestone 3 - Risk Management
- Changed status of INVALID addresscheck to red
- Added option to individually control the addresscheck mode on
consumerscore checks
- Refactored some methods
- Added address parameter
- Fixed is consumerscore needed method
  • Loading branch information
FATCHIP-GmbH authored and T-Kuchel committed Jan 20, 2017
1 parent cec542f commit f7143bb
Show file tree
Hide file tree
Showing 106 changed files with 4,219 additions and 584 deletions.
9 changes: 4 additions & 5 deletions Block/Adminhtml/Config/Form/Field/KlarnaStoreId.php
Original file line number Diff line number Diff line change
Expand Up @@ -48,11 +48,10 @@ class KlarnaStoreId extends \Payone\Core\Block\Adminhtml\Config\Form\Field\Field
/**
* Constructor
*
* @param \Magento\Backend\Block\Template\Context $context
* @param \Magento\Framework\Data\Form\Element\Factory $elementFactory
* @param \Payone\Core\Model\Source\TransactionStatus $klarnaCountries
* @param array $data
* @return void
* @param \Magento\Backend\Block\Template\Context $context
* @param \Magento\Framework\Data\Form\Element\Factory $elementFactory
* @param \Payone\Core\Model\Source\TransactionStatus $klarnaCountries
* @param array $data
*/
public function __construct(
\Magento\Backend\Block\Template\Context $context,
Expand Down
114 changes: 114 additions & 0 deletions Block/Adminhtml/Config/Form/Field/PersonStatusMapping.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,114 @@
<?php

/**
* PAYONE Magento 2 Connector is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* PAYONE Magento 2 Connector is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with PAYONE Magento 2 Connector. If not, see <http://www.gnu.org/licenses/>.
*
* PHP version 5
*
* @category Payone
* @package Payone_Magento2_Plugin
* @author FATCHIP GmbH <[email protected]>
* @copyright 2003 - 2016 Payone GmbH
* @license <http://www.gnu.org/licenses/> GNU Lesser General Public License
* @link http://www.payone.de
*/

namespace Payone\Core\Block\Adminhtml\Config\Form\Field;

/**
* Block class for person-status-mapping grid-element
*/
class PersonStatusMapping extends \Magento\Config\Block\System\Config\Form\Field\FieldArray\AbstractFieldArray
{
/**
* Element factory
*
* @var \Magento\Framework\Data\Form\Element\Factory
*/
protected $elementFactory;

/**
* Person status source class
*
* @var \Payone\Core\Model\Source\PersonStatus
*/
protected $personStatus;

/**
* Credit score source class
*
* @var \Payone\Core\Model\Source\CreditScore
*/
protected $creditScore;

/**
* Constructor
*
* @param \Magento\Backend\Block\Template\Context $context
* @param \Magento\Framework\Data\Form\Element\Factory $elementFactory
* @param \Payone\Core\Model\Source\PersonStatus $personStatus
* @param \Payone\Core\Model\Source\CreditScore $creditScore
* @param array $data
*/
public function __construct(
\Magento\Backend\Block\Template\Context $context,
\Magento\Framework\Data\Form\Element\Factory $elementFactory,
\Payone\Core\Model\Source\PersonStatus $personStatus,
\Payone\Core\Model\Source\CreditScore $creditScore,
array $data = []
) {
parent::__construct($context, $data);
$this->elementFactory = $elementFactory;
$this->personStatus = $personStatus;
$this->creditScore = $creditScore;
}

/**
* Initialise form fields
*
* @return void
*/
protected function _construct()
{
$this->addColumn('personstatus', ['label' => __('Personstatus')]);
$this->addColumn('score', ['label' => __('Score')]);
$this->addAfter = false;
$this->addButtonLabel = __('Add Personstatus Mapping');
parent::_construct();
}

/**
* Render array cell for prototypeJS template
*
* @param string $columnName
* @return string
*/
public function renderCellTemplate($columnName)
{
if ($columnName == 'personstatus' && isset($this->_columns[$columnName])) {
$aOptions = $this->personStatus->toOptionArray();
} elseif ($columnName == 'score' && isset($this->_columns[$columnName])) {
$aOptions = $this->creditScore->toOptionArray();
} else {
return parent::renderCellTemplate($columnName);
}

$oElement = $this->elementFactory->create('select');
$oElement->setForm($this->getForm());
$oElement->setName($this->_getCellInputElementName($columnName));
$oElement->setHtmlId($this->_getCellInputElementId('<%- _id %>', $columnName));
$oElement->setValues($aOptions);
return str_replace("\n", '', $oElement->getElementHtml());
}
}
9 changes: 4 additions & 5 deletions Block/Adminhtml/Config/Form/Field/StatusForwarding.php
Original file line number Diff line number Diff line change
Expand Up @@ -48,11 +48,10 @@ class StatusForwarding extends \Payone\Core\Block\Adminhtml\Config\Form\Field\Fi
/**
* Constructor
*
* @param \Magento\Backend\Block\Template\Context $context
* @param \Magento\Framework\Data\Form\Element\Factory $elementFactory
* @param \Payone\Core\Model\Source\TransactionStatus $transactionStatus
* @param array $data
* @return void
* @param \Magento\Backend\Block\Template\Context $context
* @param \Magento\Framework\Data\Form\Element\Factory $elementFactory
* @param \Payone\Core\Model\Source\TransactionStatus $transactionStatus
* @param array $data
*/
public function __construct(
\Magento\Backend\Block\Template\Context $context,
Expand Down
53 changes: 23 additions & 30 deletions Block/Adminhtml/Config/Form/Field/StatusMapping.php
Original file line number Diff line number Diff line change
Expand Up @@ -62,12 +62,11 @@ class StatusMapping extends \Magento\Config\Block\System\Config\Form\Field\Field
/**
* Constructor
*
* @param \Magento\Backend\Block\Template\Context $context
* @param \Magento\Framework\Data\Form\Element\Factory $elementFactory
* @param \Magento\Sales\Model\Config\Source\Order\Status $orderStatus
* @param \Payone\Core\Model\Source\TransactionStatus $transactionStatus
* @param array $data
* @return void
* @param \Magento\Backend\Block\Template\Context $context
* @param \Magento\Framework\Data\Form\Element\Factory $elementFactory
* @param \Magento\Sales\Model\Config\Source\Order\Status $orderStatus
* @param \Payone\Core\Model\Source\TransactionStatus $transactionStatus
* @param array $data
*/
public function __construct(
\Magento\Backend\Block\Template\Context $context,
Expand All @@ -89,10 +88,10 @@ public function __construct(
*/
protected function _construct()
{
$this->addColumn('txaction', ['label' => __('Transactionstatus-message')]);
$this->addColumn('state_status', ['label' => __('Magento-status')]);
$this->addAfter = false;
$this->addButtonLabel = __('Add Statusmapping');
$this->addColumn('txaction', ['label' => __('Transactionstatus-message')]); // set column name for txaction
$this->addColumn('state_status', ['label' => __('Magento-status')]); // set column name for state_status
$this->addAfter = false; // dont add "add after" button
$this->addButtonLabel = __('Add Statusmapping'); // set the label text of the button
parent::_construct();
}

Expand All @@ -105,23 +104,18 @@ protected function _construct()
public function renderCellTemplate($columnName)
{
if ($columnName == 'txaction' && isset($this->_columns[$columnName])) {
$aOptions = $this->transactionStatus->toOptionArray();
$aOptions = $this->transactionStatus->toOptionArray(); // add transction status action options to dropdown
} elseif ($columnName == 'state_status' && isset($this->_columns[$columnName])) {
$aOptions = $this->orderStatus->toOptionArray();
$aOptions = $this->orderStatus->toOptionArray(); // add state_status options to dropdown
} else {
return parent::renderCellTemplate($columnName);
}

$oElement = $this->elementFactory->create('select');
$oElement->setForm(
$this->getForm()
)->setName(
$this->_getCellInputElementName($columnName)
)->setHtmlId(
$this->_getCellInputElementId('<%- _id %>', $columnName)
)->setValues(
$aOptions
);
$oElement->setForm($this->getForm());
$oElement->setName($this->_getCellInputElementName($columnName));
$oElement->setHtmlId($this->_getCellInputElementId('<%- _id %>', $columnName));
$oElement->setValues($aOptions);
return str_replace("\n", '', $oElement->getElementHtml());
}

Expand All @@ -135,22 +129,21 @@ public function renderCellTemplate($columnName)
public function getArrayRows()
{
if (null !== $this->_arrayRowsCache) {
return $this->_arrayRowsCache;
return $this->_arrayRowsCache; // return cached values if set
}
$result = [];
/** @var \Magento\Framework\Data\Form\Element\AbstractElement */
$element = $this->getElement();
$aValue = $element->getValue();
if (!is_array($aValue)) {
$aValue = unserialize($aValue);
$aValue = $element->getValue(); // get values
if (!is_array($aValue)) { // values given as array?
$aValue = unserialize($aValue); // convert string to array
}

if ($aValue && is_array($aValue)) {
foreach ($aValue as $rowId => $row) {
$rowColumnValues = [];
foreach ($row as $key => $value) {
$row[$key] = $value;
$rowColumnValues[$this->_getCellInputElementId($rowId, $key)] = $row[$key];
$rowColumnValues[$this->_getCellInputElementId($rowId, $key)] = $row[$key]; // add value the row
}
$row['_id'] = $rowId;
$row['column_values'] = $rowColumnValues;
Expand All @@ -170,9 +163,9 @@ public function getArrayRows()
*/
protected function _getElementHtml(\Magento\Framework\Data\Form\Element\AbstractElement $element)
{
$this->setElement($element);
$html = $this->_toHtml();
$this->_arrayRowsCache = null;
$this->setElement($element); // set element
$html = $this->_toHtml(); // get render html for the object
$this->_arrayRowsCache = null; // reset cache
// doh, the object is used as singleton!
return $html;
}
Expand Down
7 changes: 3 additions & 4 deletions Block/Adminhtml/Protocol/Api/View.php
Original file line number Diff line number Diff line change
Expand Up @@ -50,10 +50,9 @@ class View extends \Magento\Backend\Block\Widget\Container
/**
* Constructor
*
* @param \Magento\Backend\Block\Widget\Context $context
* @param \Payone\Core\Model\Entities\ApiLogFactory $apiLogFactory
* @param array $data
* @return void
* @param \Magento\Backend\Block\Widget\Context $context
* @param \Payone\Core\Model\Entities\ApiLogFactory $apiLogFactory
* @param array $data
*/
public function __construct(
\Magento\Backend\Block\Widget\Context $context,
Expand Down
7 changes: 3 additions & 4 deletions Block/Adminhtml/Protocol/Transactionstatus/View.php
Original file line number Diff line number Diff line change
Expand Up @@ -49,10 +49,9 @@ class View extends \Magento\Backend\Block\Widget\Container

/**
*
* @param \Magento\Backend\Block\Widget\Context $context
* @param \Payone\Core\Model\Entities\TransactionStatusFactory $statusFactory
* @param array $data
* @return void
* @param \Magento\Backend\Block\Widget\Context $context
* @param \Payone\Core\Model\Entities\TransactionStatusFactory $statusFactory
* @param array $data
*/
public function __construct(
\Magento\Backend\Block\Widget\Context $context,
Expand Down
4 changes: 2 additions & 2 deletions Block/Onepage/Debit.php
Original file line number Diff line number Diff line change
Expand Up @@ -50,9 +50,9 @@ class Debit extends Template
/**
* Constructor
*
* @param \Magento\Checkout\Model\Session $checkoutSession
* @param \Magento\Framework\View\Element\Template\Context $context
* @param array $data
* @return void
* @param array $data
*/
public function __construct(
\Magento\Checkout\Model\Session $checkoutSession,
Expand Down
9 changes: 4 additions & 5 deletions Block/Onepage/Success.php
Original file line number Diff line number Diff line change
Expand Up @@ -64,11 +64,10 @@ class Success extends Template
/**
* Constructor
*
* @param \Magento\Checkout\Model\Session $checkoutSession
* @param \Magento\Framework\View\Element\Template\Context $context
* @param \Payone\Core\Helper\Payment $paymentHelper
* @param array $data
* @return void
* @param \Magento\Checkout\Model\Session $checkoutSession
* @param \Magento\Framework\View\Element\Template\Context $context
* @param \Payone\Core\Helper\Payment $paymentHelper
* @param array $data
*/
public function __construct(
\Magento\Checkout\Model\Session $checkoutSession,
Expand Down
7 changes: 3 additions & 4 deletions Block/Paypal/ExpressButton.php
Original file line number Diff line number Diff line change
Expand Up @@ -84,10 +84,9 @@ class ExpressButton extends Template implements \Magento\Catalog\Block\ShortcutI
/**
* Constructor
*
* @param \Magento\Framework\View\Element\Template\Context $context
* @param \Magento\Framework\Locale\ResolverInterface $localeResolver
* @param array $data
* @return void
* @param \Magento\Framework\View\Element\Template\Context $context
* @param \Magento\Framework\Locale\ResolverInterface $localeResolver
* @param array $data
*/
public function __construct(
\Magento\Framework\View\Element\Template\Context $context,
Expand Down
7 changes: 3 additions & 4 deletions Controller/Adminhtml/Config/Export/Index.php
Original file line number Diff line number Diff line change
Expand Up @@ -50,10 +50,9 @@ class Index extends Action
/**
* Constructor
*
* @param \Magento\Backend\App\Action\Context $context
* @param \Payone\Core\Model\Config\Export $configExport
* @param \Magento\Framework\Controller\Result\RawFactory $resultRawFactory
* @return void
* @param \Magento\Backend\App\Action\Context $context
* @param \Payone\Core\Model\Config\Export $configExport
* @param \Magento\Framework\Controller\Result\RawFactory $resultRawFactory
*/
public function __construct(
\Magento\Backend\App\Action\Context $context,
Expand Down
5 changes: 2 additions & 3 deletions Controller/Adminhtml/Orders/Index.php
Original file line number Diff line number Diff line change
Expand Up @@ -54,9 +54,8 @@ class Index extends Action
/**
* Constructor
*
* @param Context $context
* @param PageFactory $resultPageFactory
* @return void
* @param Context $context
* @param PageFactory $resultPageFactory
*/
public function __construct(Context $context, PageFactory $resultPageFactory)
{
Expand Down
5 changes: 2 additions & 3 deletions Controller/Adminhtml/Protocol/Api/Index.php
Original file line number Diff line number Diff line change
Expand Up @@ -54,9 +54,8 @@ class Index extends Action
/**
* Constructor
*
* @param Context $context
* @param PageFactory $resultPageFactory
* @return void
* @param Context $context
* @param PageFactory $resultPageFactory
*/
public function __construct(Context $context, PageFactory $resultPageFactory)
{
Expand Down
7 changes: 3 additions & 4 deletions Controller/Adminhtml/Protocol/Api/View.php
Original file line number Diff line number Diff line change
Expand Up @@ -53,10 +53,9 @@ class View extends \Magento\Backend\App\Action
/**
* Constructor
*
* @param \Magento\Backend\App\Action\Context $context
* @param \Magento\Backend\Model\View\Result\ForwardFactory $resultForwardFactory
* @param \Magento\Framework\View\Result\PageFactory $resultPageFactory
* @return void
* @param \Magento\Backend\App\Action\Context $context
* @param \Magento\Backend\Model\View\Result\ForwardFactory $resultForwardFactory
* @param \Magento\Framework\View\Result\PageFactory $resultPageFactory
*/
public function __construct(
Context $context,
Expand Down
5 changes: 2 additions & 3 deletions Controller/Adminhtml/Protocol/Transactionstatus/Index.php
Original file line number Diff line number Diff line change
Expand Up @@ -54,9 +54,8 @@ class Index extends Action
/**
* Constructor
*
* @param Context $context
* @param PageFactory $resultPageFactory
* @return void
* @param Context $context
* @param PageFactory $resultPageFactory
*/
public function __construct(Context $context, PageFactory $resultPageFactory)
{
Expand Down
7 changes: 3 additions & 4 deletions Controller/Adminhtml/Protocol/Transactionstatus/View.php
Original file line number Diff line number Diff line change
Expand Up @@ -53,10 +53,9 @@ class View extends \Magento\Backend\App\Action
/**
* Constructor
*
* @param Context $context
* @param ForwardFactory $resultForwardFactory
* @param PageFactory $resultPageFactory
* @return void
* @param Context $context
* @param ForwardFactory $resultForwardFactory
* @param PageFactory $resultPageFactory
*/
public function __construct(
Context $context,
Expand Down
Loading

0 comments on commit f7143bb

Please sign in to comment.