Title: [opsview] [12801] Fixed Network outages menu only displaying if VIEWALL for user
Revision
12801
Author
tvoon
Date
2013-07-04 17:30:17 +0100 (Thu, 04 Jul 2013)

Log Message

Fixed Network outages menu only displaying if VIEWALL for user

Modified Paths


Modified: trunk/CHANGES
===================================================================
--- trunk/CHANGES	2013-07-04 16:26:57 UTC (rev 12800)
+++ trunk/CHANGES	2013-07-04 16:30:17 UTC (rev 12801)
@@ -23,6 +23,7 @@
     Fixed setting of sticky acknowledgements in mass acknowledgements page
     Fixed REST API /runtime/service for VIEWSOME users
     Added missing notification macros: HOSTDURATION, HOSTNOTIFICATIONNUMBER, NOTIFICATIONAUTHOR, NOTIFICATIONCOMMENT, SERVICEDURATION, SERVICENOTIFICATIONNUMBER 
+    Fixed menu Network outages link only appearing if VIEWALL is granted for user
 
 3.20130522
     ENHANCEMENTS:

Modified: trunk/opsview-web/lib/Opsview/Web/Controller/NavMenu.pm
===================================================================
--- trunk/opsview-web/lib/Opsview/Web/Controller/NavMenu.pm	2013-07-04 16:26:57 UTC (rev 12800)
+++ trunk/opsview-web/lib/Opsview/Web/Controller/NavMenu.pm	2013-07-04 16:30:17 UTC (rev 12801)
@@ -20,6 +20,9 @@
 #
 package Opsview::Web::Controller::NavMenu;
 
+use warnings;
+use strict;
+
 use base qw/Catalyst::Controller/;
 use URI;
 use URI::QueryParam;
@@ -102,6 +105,37 @@
         title => $c->loc("ui.menu.navigation.dashboard.title"),
     };
 
+    my $alarm_elements = [
+        {
+            url ="" $c->uri_for('/status/host', { hostgroupid => 1, host_state => 1})->path_query,
+            title => $c->loc("ui.menu.navigation.monitoring.submenu.alarms.element.hosts.title"),
+        },
+    ];
+    if ($user && $user->has_access("VIEWALL")) {
+        push @$alarm_elements,
+            {
+                url ="" $c->uri_for('/cgi-bin/outages.cgi')->path_query,
+                title => $c->loc("ui.menu.navigation.monitoring.submenu.alarms.element.network.title"),
+            };
+    }
+    push @$alarm_elements,
+        {
+            url ="" $c->uri_for('/status/service', { state => 1})->path_query,
+            title => $c->loc("ui.menu.navigation.monitoring.submenu.alarms.element.services_warning.title"),
+        },
+        {
+            url ="" $c->uri_for('/status/service', { state => 2})->path_query,
+            title => $c->loc("ui.menu.navigation.monitoring.submenu.alarms.element.services_critical.title"),
+        },
+        {
+            url ="" $c->uri_for('/status/service', { state => 3})->path_query,
+            title => $c->loc("ui.menu.navigation.monitoring.submenu.alarms.element.services_unknown.title"),
+        },
+        {
+            url ="" $c->uri_for('/status/service', { state => [ 1, 2, 3], order => ['state_desc', 'host', 'service']})->path_query,
+            title => $c->loc("ui.menu.navigation.monitoring.submenu.alarms.element.services_all.title"),
+        };
+
     my $monitoring = {
         url ="" $c->uri_for('/status/hostgroup', { parentid => 1})->path_query,
         title => $c->loc("ui.menu.navigation.monitoring.title"),
@@ -159,32 +193,7 @@
             {
                 title => $c->loc("ui.menu.navigation.monitoring.submenu.alarms.title"),
                 col_size => 1,
-                elements => [
-                    {
-                        url ="" $c->uri_for('/status/host', { hostgroupid => 1, host_state => 1})->path_query,
-                        title => $c->loc("ui.menu.navigation.monitoring.submenu.alarms.element.hosts.title"),
-                    },
-                    {
-                        url ="" $c->uri_for('/cgi-bin/outages.cgi')->path_query,
-                        title => $c->loc("ui.menu.navigation.monitoring.submenu.alarms.element.network.title"),
-                    },
-                    {
-                        url ="" $c->uri_for('/status/service', { state => 1})->path_query,
-                        title => $c->loc("ui.menu.navigation.monitoring.submenu.alarms.element.services_warning.title"),
-                    },
-                    {
-                        url ="" $c->uri_for('/status/service', { state => 2})->path_query,
-                        title => $c->loc("ui.menu.navigation.monitoring.submenu.alarms.element.services_critical.title"),
-                    },
-                    {
-                        url ="" $c->uri_for('/status/service', { state => 3})->path_query,
-                        title => $c->loc("ui.menu.navigation.monitoring.submenu.alarms.element.services_unknown.title"),
-                    },
-                    {
-                        url ="" $c->uri_for('/status/service', { state => [ 1, 2, 3], order => ['state_desc', 'host', 'service']})->path_query,
-                        title => $c->loc("ui.menu.navigation.monitoring.submenu.alarms.element.services_all.title"),
-                    },
-                ]
+                elements => $alarm_elements,
             },
             {
                 title => $c->loc("ui.menu.navigation.monitoring.submenu.administration.title"),

Modified: trunk/opsview-web/t/721navigation.t
===================================================================
--- trunk/opsview-web/t/721navigation.t	2013-07-04 16:26:57 UTC (rev 12800)
+++ trunk/opsview-web/t/721navigation.t	2013-07-04 16:30:17 UTC (rev 12801)
@@ -166,7 +166,6 @@
         [ 'List' => '/status/service?includeunhandledhosts=1&order=state_desc&order=host&order=service&filter=unhandled' ],
         [ 'Hierarchy' => '/status/hostgroup?includeunhandledhosts=1&filter=unhandled&context=alerts&parentid=1' ],
         [ 'Hosts' => '/status/host?host_state=1&hostgroupid=1' ],
-        [ 'Network' => '/cgi-bin/outages.cgi' ],
         [ 'Services - Warning' => '/status/service?state=1' ],
         [ 'Services - Critical' => '/status/service?state=2' ],
         [ 'Services - Unknown' => '/status/service?state=3' ],
@@ -238,7 +237,6 @@
         [ 'List' => '/status/service?includeunhandledhosts=1&order=state_desc&order=host&order=service&filter=unhandled' ],
         [ 'Hierarchy' => '/status/hostgroup?includeunhandledhosts=1&filter=unhandled&context=alerts&parentid=1' ],
         [ 'Hosts' => '/status/host?host_state=1&hostgroupid=1' ],
-        [ 'Network' => '/cgi-bin/outages.cgi' ],
         [ 'Services - Warning' => '/status/service?state=1' ],
         [ 'Services - Critical' => '/status/service?state=2' ],
         [ 'Services - Unknown' => '/status/service?state=3' ],
@@ -351,7 +349,6 @@
         [ 'List' => '/status/service?includeunhandledhosts=1&order=state_desc&order=host&order=service&filter=unhandled' ],
         [ 'Hierarchy' => '/status/hostgroup?includeunhandledhosts=1&filter=unhandled&context=alerts&parentid=1' ],
         [ 'Hosts' => '/status/host?host_state=1&hostgroupid=1' ],
-        [ 'Network' => '/cgi-bin/outages.cgi' ],
         [ 'Services - Warning' => '/status/service?state=1' ],
         [ 'Services - Critical' => '/status/service?state=2' ],
         [ 'Services - Unknown' => '/status/service?state=3' ],
@@ -411,7 +408,6 @@
         [ 'List' => '/status/service?includeunhandledhosts=1&order=state_desc&order=host&order=service&filter=unhandled' ],
         [ 'Hierarchy' => '/status/hostgroup?includeunhandledhosts=1&filter=unhandled&context=alerts&parentid=1' ],
         [ 'Hosts' => '/status/host?host_state=1&hostgroupid=1' ],
-        [ 'Network' => '/cgi-bin/outages.cgi' ],
         [ 'Services - Warning' => '/status/service?state=1' ],
         [ 'Services - Critical' => '/status/service?state=2' ],
         [ 'Services - Unknown' => '/status/service?state=3' ],
@@ -504,7 +500,6 @@
         [ 'List' => '/status/service?includeunhandledhosts=1&order=state_desc&order=host&order=service&filter=unhandled' ],
         [ 'Hierarchy' => '/status/hostgroup?includeunhandledhosts=1&filter=unhandled&context=alerts&parentid=1' ],
         [ 'Hosts' => '/status/host?host_state=1&hostgroupid=1' ],
-        [ 'Network' => '/cgi-bin/outages.cgi' ],
         [ 'Services - Warning' => '/status/service?state=1' ],
         [ 'Services - Critical' => '/status/service?state=2' ],
         [ 'Services - Unknown' => '/status/service?state=3' ],

_______________________________________________
Opsview-checkins mailing list
Opsview-checkins@lists.opsview.org
http://lists.opsview.org/lists/listinfo/opsview-checkins

Reply via email to