summaryrefslogtreecommitdiffstats
path: root/configuration.php
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-14 13:15:40 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-14 13:15:40 +0000
commitb7fd908d538ed19fe41f03c0a3f93351d8da64e9 (patch)
tree46e14f318948cd4f5d7e874f83e7dfcc5d42fc64 /configuration.php
parentInitial commit. (diff)
downloadicingaweb2-module-businessprocess-b7fd908d538ed19fe41f03c0a3f93351d8da64e9.tar.xz
icingaweb2-module-businessprocess-b7fd908d538ed19fe41f03c0a3f93351d8da64e9.zip
Adding upstream version 2.5.0.upstream/2.5.0upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'configuration.php')
-rw-r--r--configuration.php64
1 files changed, 64 insertions, 0 deletions
diff --git a/configuration.php b/configuration.php
new file mode 100644
index 0000000..6ef510e
--- /dev/null
+++ b/configuration.php
@@ -0,0 +1,64 @@
+<?php
+
+use Icinga\Module\Businessprocess\Storage\LegacyStorage;
+use Icinga\Module\Businessprocess\Web\Navigation\Renderer\ProcessProblemsBadge;
+
+/** @var \Icinga\Application\Modules\Module $this */
+$section = $this->menuSection(N_('Business Processes'), array(
+ 'renderer' => 'ProcessesProblemsBadge',
+ 'url' => 'businessprocess',
+ 'icon' => 'sitemap',
+ 'priority' => 46
+));
+
+try {
+ $storage = LegacyStorage::getInstance();
+
+ $prio = 0;
+ foreach ($storage->listProcessNames() as $name) {
+ $meta = $storage->loadMetadata($name);
+ if ($meta->get('AddToMenu') === 'no') {
+ continue;
+ }
+ $prio++;
+
+ if ($prio > 5) {
+ $section->add(N_('Show all'), array(
+ 'url' => 'businessprocess',
+ 'priority' => $prio
+ ));
+
+ break;
+ }
+
+ $section->add($meta->getTitle(), array(
+ 'renderer' => (new ProcessProblemsBadge())->setBpConfigName($name),
+ 'url' => 'businessprocess/process/show',
+ 'urlParameters' => array('config' => $name),
+ 'priority' => $prio
+ ));
+ }
+} catch (Exception $e) {
+ // Well... there is not much we could do here
+}
+
+$this->providePermission(
+ 'businessprocess/showall',
+ $this->translate('Allow to see all available processes, regardless of configured restrictions')
+);
+$this->providePermission(
+ 'businessprocess/create',
+ $this->translate('Allow to create whole new process configuration (files)')
+);
+$this->providePermission(
+ 'businessprocess/modify',
+ $this->translate('Allow to modify process definitions, to add and remove nodes')
+);
+$this->provideRestriction(
+ 'businessprocess/prefix',
+ $this->translate('Restrict access to configurations with the given prefix')
+);
+
+$this->provideJsFile('vendor/Sortable.js');
+$this->provideJsFile('behavior/sortable.js');
+$this->provideJsFile('vendor/jquery.fn.sortable.js');