Completed
Pull Request — master (#21)
by Michal
02:30
created

AbstractBasePresenter   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 43
Duplicated Lines 0 %

Coupling/Cohesion

Components 2
Dependencies 3

Test Coverage

Coverage 0%

Importance

Changes 0
Metric Value
wmc 4
lcom 2
cbo 3
dl 0
loc 43
ccs 0
cts 13
cp 0
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A startup() 0 6 2
A createComponentBreadcrumb() 0 10 2
1
<?php
2
3
namespace UniMan\Presenters;
4
5
use UniMan\Components\Breadcrumb\BreadcrumbControl;
6
use UniMan\Core\Credentials\CredentialsStorageInterface;
7
use UniMan\Core\Driver\DriverInterface;
8
use UniMan\Core\Driver\DriverStorage;
9
use Nette\Application\UI\Presenter;
10
use Nette\Localization\ITranslator;
11
12
abstract class AbstractBasePresenter extends Presenter
13
{
14
    /** @var string @persistent */
15
    public $locale = 'en';
16
17
    /** @var CredentialsStorageInterface @inject */
18
    public $credentialsStorage;
19
20
    /** @var DriverStorage @inject */
21
    public $driverStorage;
22
23
    /** @var ITranslator @inject */
24
    public $translator;
25
26
    /** @var DriverInterface */
27
    protected $driver;
28
29
    protected $database;
30
31
    protected $type;
32
33
    protected $table;
34
35
    protected $item;
36
37
    protected function startup()
38
    {
39
        parent::startup();
40
        $this->template->locale = $this->locale;
41
        $this->template->driver = isset($this->params['driver']) ? $this->params['driver'] : null;
42
    }
43
44
    protected function createComponentBreadcrumb()
45
    {
46
        return new BreadcrumbControl(
47
            $this->driver ? $this->driver->type() : null,
48
            $this->database,
49
            $this->type,
50
            $this->table,
51
            $this->item
52
        );
53
    }
54
}
55