From a7ee00ff1d6bc1451aa2db2a7ac8ae588a7b9007 Mon Sep 17 00:00:00 2001 From: Oliver Gorwits Date: Sun, 19 Jan 2014 17:48:33 +0000 Subject: [PATCH] respect order of Admin plugins in config when building menu --- Netdisco/lib/App/Netdisco/Web/Plugin.pm | 2 ++ Netdisco/share/config.yml | 10 +++++----- Netdisco/share/views/layouts/main.tt | 2 +- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/Netdisco/lib/App/Netdisco/Web/Plugin.pm b/Netdisco/lib/App/Netdisco/Web/Plugin.pm index 0604914b..dc1c2f4f 100644 --- a/Netdisco/lib/App/Netdisco/Web/Plugin.pm +++ b/Netdisco/lib/App/Netdisco/Web/Plugin.pm @@ -14,6 +14,7 @@ set( '_search_tabs' => [], '_device_tabs' => [], '_admin_tasks' => {}, + '_admin_order' => [], '_reports_menu' => {}, '_reports' => {}, '_report_order' => [qw/Device Port IP Node VLAN Network Wireless/], @@ -123,6 +124,7 @@ register 'register_admin_task' => sub { return error "bad config to register_admin_task"; } + push @{ setting('_admin_order') }, $config->{tag}; setting('_admin_tasks')->{ $config->{tag} } = $config; }; diff --git a/Netdisco/share/config.yml b/Netdisco/share/config.yml index a108286a..d7a2a8f0 100644 --- a/Netdisco/share/config.yml +++ b/Netdisco/share/config.yml @@ -51,15 +51,15 @@ web_plugins: - Report::SsidInventory - Report::VlanInventory - Report::SubnetUtilization + - AdminTask::PortLog - AdminTask::JobQueue - - AdminTask::PollerPerformance - - AdminTask::SlowDevices - - AdminTask::PseudoDevice - AdminTask::Topology + - AdminTask::PollerPerformance + - AdminTask::PseudoDevice + - AdminTask::SlowDevices + - AdminTask::UndiscoveredNeighbors - AdminTask::UserLog - AdminTask::Users - - AdminTask::PortLog - - AdminTask::UndiscoveredNeighbors - Search::Device - Search::Node - Search::VLAN diff --git a/Netdisco/share/views/layouts/main.tt b/Netdisco/share/views/layouts/main.tt index ca8b7efa..cdb17e84 100644 --- a/Netdisco/share/views/layouts/main.tt +++ b/Netdisco/share/views/layouts/main.tt @@ -105,7 +105,7 @@ [% IF settings._admin_tasks.size %]
  • - [% FOREACH ai IN settings._admin_tasks.keys.sort %] + [% FOREACH ai IN settings._admin_order %] [% NEXT IF settings._admin_tasks.$ai.hidden %]
  • [% settings._admin_tasks.$ai.label | html_entity %]
  • [% END %]