Completed
Push — master ( 62d2ea...1993b9 )
by Andrii
11:09
created

LinkToObjectResolver   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 30
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 2

Importance

Changes 2
Bugs 0 Features 0
Metric Value
wmc 3
lcom 1
cbo 2
dl 0
loc 30
rs 10
c 2
b 0
f 0

3 Methods

Rating   Name   Duplication   Size   Complexity  
A run() 0 4 1
A getLabel() 0 4 1
A getLink() 0 4 1
1
<?php
2
3
namespace hipanel\modules\finance\widgets;
4
5
use yii\base\Widget;
6
use yii\helpers\Html;
7
8
class LinkToObjectResolver extends Widget
9
{
10
    public $model;
11
12
    public $linkOptions = [
13
        'class' => 'text-bold',
14
    ];
15
16
    private $links = [
17
        'ip' => '@ip/view',
18
        'client' => '@client/view',
19
        'account' => '@account/view',
20
        'server' => '@server/view',
21
    ];
22
23
    public function run()
24
    {
25
        return Html::a($this->getLabel(), $this->getLink(), $this->linkOptions);
26
    }
27
28
    private function getLabel()
29
    {
30
        return $this->model->object;
31
    }
32
33
    private function getLink()
34
    {
35
        return [$this->links[$this->model->tariff_type], 'id' => $this->model->object_id];
36
    }
37
}
38