DatabasePresenter::actionEdit()   A
last analyzed

Complexity

Conditions 2
Paths 2

Size

Total Lines 8

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 6

Importance

Changes 0
Metric Value
dl 0
loc 8
ccs 0
cts 6
cp 0
rs 10
c 0
b 0
f 0
cc 2
nc 2
nop 2
crap 6
1
<?php
2
3
namespace UniMan\Presenters;
4
5
use UniMan\Core\Forms\DatabaseForm\DatabaseForm;
6
use Nette\Application\ForbiddenRequestException;
7
8
class DatabasePresenter extends BasePresenter
9
{
10
    public function renderDefault($driver, array $sorting = [])
11
    {
12
        $this->template->driver = $driver;
13
        $this->template->databasesHeaders = $this->driver->headerManager()->databasesHeaders();
14
        $this->template->databases = $this->driver->dataManager()->databases($sorting);
15
        $this->template->sorting = $sorting;
16
    }
17
18
    public function actionCreate($driver)
19
    {
20
        if (!$this->driver->permissions()->canCreateDatabase()) {
21
            throw new ForbiddenRequestException('Create database is not allowed');
22
        }
23
        $this->template->driver = $driver;
24
    }
25
26
    public function actionEdit($driver, $database)
27
    {
28
        if (!$this->driver->permissions()->canEditDatabase($database)) {
29
            throw new ForbiddenRequestException('Edit database is not allowed');
30
        }
31
        $this->template->driver = $driver;
32
        $this->database = $database;
33
    }
34
35
    public function handleDelete($driver, $database)
36
    {
37
        if (!$this->driver->permissions()->canDeleteDatabase($database)) {
38
            throw new ForbiddenRequestException('Delete database is not allowed');
39
        }
40
        if ($this->driver->dataManager()->deleteDatabase($database)) {
41
            $this->flashMessage('Database was successfully deleted', 'success');
42
        } else {
43
            $this->flashMessage('Database was not deleted', 'danger');
44
        }
45
        $this->redirect('this', $driver);
46
    }
47
48
    protected function createComponentForm()
49
    {
50
        return new DatabaseForm($this->translator, $this->driver, $this->database);
51
    }
52
}
53