summaryrefslogtreecommitdiffstats
path: root/library/Director/Web/Widget/BranchedObjectsHint.php
blob: 3f00f9ea920f24a411a646f97f5c80a04e3cbdf2 (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
<?php

namespace Icinga\Module\Director\Web\Widget;

use gipfl\Translation\TranslationHelper;
use gipfl\Web\Widget\Hint;
use Icinga\Authentication\Auth;
use Icinga\Module\Director\Db\Branch\Branch;
use ipl\Html\Html;
use ipl\Html\HtmlDocument;

class BranchedObjectsHint extends HtmlDocument
{
    use TranslationHelper;

    public function __construct(Branch $branch, Auth $auth, $hasPreferredBranch = false)
    {
        if (! $branch->isBranch()) {
            if ($hasPreferredBranch) {
                $this->add(Hint::warning($this->translate(
                    "You're currently in the master branch, your changes will make part of the next Deployment"
                )));
            }
            return;
        }
        $hook = Branch::requireHook();
        $this->add(Hint::info(Html::sprintf(
            $this->translate('Showing a branched view, with potential changes being visible only in this %s'),
            $hook->linkToBranch($branch, $auth, $this->translate('configuration branch'))
        )));
    }
}