summaryrefslogtreecommitdiffstats
path: root/library/Director/Dashboard/BranchesDashboard.php
blob: fe8b385cfe11414e81e2efe5d5a7a086c47dd5f1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<?php

namespace Icinga\Module\Director\Dashboard;

use gipfl\Web\Widget\Hint;
use Icinga\Application\Hook;
use Icinga\Module\Director\Db\Branch\Branch;
use Icinga\Module\Director\Db\Branch\BranchStore;
use Icinga\Module\Director\Hook\BranchSupportHook;
use ipl\Html\Html;

class BranchesDashboard extends Dashboard
{
    public function getTitle()
    {
        $branch = Branch::detect(new BranchStore($this->getDb()));
        if ($branch->isBranch()) {
            $this->prepend(Hint::info(Html::sprintf(
                $this->translate('You\'re currently working in a Configuration Branch: %s'),
                Branch::requireHook()->linkToBranch($branch, $this->getAuth(), $branch->getName())
            )));
        }

        return $this->translate('Prepare your configuration in a safe Environment');
    }

    public function loadDashlets()
    {
        /** @var BranchSupportHook $hook */
        if ($hook = Hook::first('director/BranchSupport')) {
            $this->dashlets = $hook->loadDashlets($this->getDb());
        } else {
            $this->dashlets = [];
        }
    }
}