summaryrefslogtreecommitdiffstats
path: root/library/Director/Web/ActionBar/TemplateActionBar.php
blob: 53e65ed6b5722f49f685f2e8459eccb3cc520eea (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
37
38
39
40
41
42
<?php

namespace Icinga\Module\Director\Web\ActionBar;

use gipfl\IcingaWeb2\Link;

class TemplateActionBar extends DirectorBaseActionBar
{
    protected function assemble()
    {
        $type = str_replace('_', '-', $this->type);
        $plType = preg_replace('/cys$/', 'cies', $type . 's');
        $renderTree = $this->url->getParam('render') === 'tree';
        $renderParams = $renderTree ? null : ['render' => 'tree'];
        $this->add(
            $this->getBackToDashboardLink()
        )->add(
            Link::create(
                $this->translate('Add'),
                "director/$type/add",
                ['type' => 'template'],
                [
                    'title' => $this->translate('Create a new Template'),
                    'class' => 'icon-plus',
                    'data-base-target' => '_next'
                ]
            )
        )->add(
            Link::create(
                $renderTree ? $this->translate('Table') : $this->translate('Tree'),
                "director/$plType/templates",
                $renderParams,
                [
                    'class' => 'icon-' . ($renderTree ? 'doc-text' : 'sitemap'),
                    'title' => $renderTree
                        ? $this->translate('Switch to Tree view')
                        : $this->translate('Switch to Table view')
                ]
            )
        );
    }
}