Completed
Push — master ( 9097d5...0ce82e )
by Florian
06:13
created

ViewAction   A

Complexity

Total Complexity 7

Size/Duplication

Total Lines 57
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
dl 0
loc 57
rs 10
c 0
b 0
f 0
wmc 7

2 Methods

Rating   Name   Duplication   Size   Complexity  
B prepareDataSource() 0 22 6
A __construct() 0 9 1
1
<?php
2
3
/**
4
 * PAYONE Magento 2 Connector is free software: you can redistribute it and/or modify
5
 * it under the terms of the GNU Lesser General Public License as published by
6
 * the Free Software Foundation, either version 3 of the License, or
7
 * (at your option) any later version.
8
 *
9
 * PAYONE Magento 2 Connector is distributed in the hope that it will be useful,
10
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12
 * GNU Lesser General Public License for more details.
13
 *
14
 * You should have received a copy of the GNU Lesser General Public License
15
 * along with PAYONE Magento 2 Connector. If not, see <http://www.gnu.org/licenses/>.
16
 *
17
 * PHP version 5
18
 *
19
 * @category  Payone
20
 * @package   Payone_Magento2_Plugin
21
 * @author    FATCHIP GmbH <[email protected]>
22
 * @copyright 2003 - 2016 Payone GmbH
23
 * @license   <http://www.gnu.org/licenses/> GNU Lesser General Public License
24
 * @link      http://www.payone.de
25
 */
26
27
namespace Payone\Core\Ui\Component\Listing\Column;
28
29
use Magento\Framework\UrlInterface;
30
use Magento\Framework\View\Element\UiComponent\ContextInterface;
31
use Magento\Framework\View\Element\UiComponentFactory;
32
use Magento\Ui\Component\Listing\Columns\Column;
0 ignored issues
show
Bug introduced by
The type Magento\Ui\Component\Listing\Columns\Column was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
33
34
/**
35
 * Class ViewAction
36
 */
37
class ViewAction extends Column
38
{
39
    /**
40
     * Url builder object
41
     *
42
     * @var UrlInterface
43
     */
44
    protected $urlBuilder;
45
46
    /**
47
     * Constructor
48
     *
49
     * @param ContextInterface   $context
50
     * @param UiComponentFactory $uiComponentFactory
51
     * @param UrlInterface       $urlBuilder
52
     * @param array              $components
53
     * @param array              $data
54
     */
55
    public function __construct(
56
        ContextInterface $context,
57
        UiComponentFactory $uiComponentFactory,
58
        UrlInterface $urlBuilder,
59
        array $components = [],
60
        array $data = []
61
    ) {
62
        parent::__construct($context, $uiComponentFactory, $components, $data);
63
        $this->urlBuilder = $urlBuilder;
64
    }
65
66
    /**
67
     * Prepare Data Source
68
     *
69
     * @param  array $dataSource
70
     * @return array
71
     */
72
    public function prepareDataSource(array $dataSource)
73
    {
74
        if (isset($dataSource['data']['items'])) {
75
            foreach ($dataSource['data']['items'] as & $item) {
76
                if (isset($item['id'])) {
77
                    $viewUrlPath = $this->getData('config/viewUrlPath') ?: '#';
78
                    $urlEntityParamName = $this->getData('config/urlEntityParamName') ?: 'id';
79
                    $item[$this->getData('name')] = [
80
                        'view' => [
81
                            'href' => $this->urlBuilder->getUrl(
82
                                $viewUrlPath,
83
                                [
84
                                    $urlEntityParamName => $item['id']
85
                                ]
86
                            ),
87
                            'label' => __('View')
0 ignored issues
show
Bug introduced by
The function __ was not found. Maybe you did not declare it correctly or list all dependencies? ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-call  annotation

87
                            'label' => /** @scrutinizer ignore-call */ __('View')
Loading history...
88
                        ]
89
                    ];
90
                }
91
            }
92
        }
93
        return $dataSource;
94
    }
95
}
96