1<?php
2
3namespace Icinga\Module\Director\Dashboard;
4
5class NotificationsDashboard extends Dashboard
6{
7    protected $dashletNames = [
8        'NotificationApply',
9        'NotificationTemplate',
10    ];
11
12    public function getTitle()
13    {
14        return $this->translate('Schedule your notifications');
15    }
16
17    public function getDescription()
18    {
19        return $this->translate(
20            'Notifications are sent when a host or service reaches a non-ok hard'
21            . ' state or recovers from such. One might also want to send them for'
22            . ' special events like when a Downtime starts, a problem gets'
23            . ' acknowledged and much more. You can send specific notifications'
24            . ' only within specific time periods, you can delay them and of course'
25            . ' re-notify at specific intervals.'
26            . "\n\n"
27            . ' Combine those possibilities in case you need to define escalation'
28            . ' levels, like notifying operators first and your management later on'
29            . ' in case the problem remains unhandled for a certain time.'
30            . "\n\n"
31            . '  You might send E-Mail or SMS, make phone calls or page on various'
32            . ' channels. You could also delegate notifications to external service'
33            . ' providers. The possibilities are endless, as you are allowed to'
34            . ' define as many custom notification commands as you want'
35        );
36    }
37
38    public function getTabs()
39    {
40        return $this->createTabsForDashboards(
41            ['notifications', 'users', 'timeperiods']
42        );
43    }
44}
45