rename private settings keys
This commit is contained in:
@@ -51,6 +51,9 @@ hook 'before_template' => sub {
|
||||
|
||||
# allow very long lists of ports
|
||||
$Template::Directive::WHILE_MAX = 10_000;
|
||||
|
||||
# allow hash keys with leading underscores
|
||||
$Template::Stash::PRIVATE = undef;
|
||||
};
|
||||
|
||||
get '/' => sub {
|
||||
|
||||
@@ -71,7 +71,7 @@ get '/admin/*' => sub {
|
||||
|
||||
var(nav => 'admin');
|
||||
template 'admintask', {
|
||||
task => setting('admin_tasks')->{ $tag },
|
||||
task => setting('_admin_tasks')->{ $tag },
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -4,13 +4,13 @@ use Dancer ':syntax';
|
||||
use Dancer::Plugin;
|
||||
|
||||
set(
|
||||
'navbar_items' => [],
|
||||
'search_tabs' => [],
|
||||
'device_tabs' => [],
|
||||
'admin_tasks' => {},
|
||||
'reports_menu' => {},
|
||||
'reports' => {},
|
||||
'report_order' => [qw/Device Port Node VLAN Network Wireless/],
|
||||
'_navbar_items' => [],
|
||||
'_search_tabs' => [],
|
||||
'_device_tabs' => [],
|
||||
'_admin_tasks' => {},
|
||||
'_reports_menu' => {},
|
||||
'_reports' => {},
|
||||
'_report_order' => [qw/Device Port Node VLAN Network Wireless/],
|
||||
);
|
||||
|
||||
# this is what Dancer::Template::TemplateToolkit does by default
|
||||
@@ -40,14 +40,14 @@ register 'register_navbar_item' => sub {
|
||||
return;
|
||||
}
|
||||
|
||||
foreach my $item (@{ setting('navbar_items') }) {
|
||||
foreach my $item (@{ setting('_navbar_items') }) {
|
||||
if ($item->{tag} eq $config->{tag}) {
|
||||
$item = $config;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
push @{ setting('navbar_items') }, $config;
|
||||
push @{ setting('_navbar_items') }, $config;
|
||||
};
|
||||
|
||||
register 'register_admin_task' => sub {
|
||||
@@ -60,12 +60,12 @@ register 'register_admin_task' => sub {
|
||||
return;
|
||||
}
|
||||
|
||||
setting('admin_tasks')->{ $config->{tag} } = $config;
|
||||
setting('_admin_tasks')->{ $config->{tag} } = $config;
|
||||
};
|
||||
|
||||
sub _register_tab {
|
||||
my ($nav, $config) = @_;
|
||||
my $stash = setting("${nav}_tabs");
|
||||
my $stash = setting("_${nav}_tabs");
|
||||
|
||||
if (!length $config->{tag}
|
||||
or !length $config->{label}) {
|
||||
@@ -96,7 +96,7 @@ register 'register_device_tab' => sub {
|
||||
|
||||
register 'register_report' => sub {
|
||||
my ($self, $config) = plugin_args(@_);
|
||||
my @categories = @{ setting('report_order') };
|
||||
my @categories = @{ setting('_report_order') };
|
||||
|
||||
if (!length $config->{category}
|
||||
or !length $config->{tag}
|
||||
@@ -107,15 +107,15 @@ register 'register_report' => sub {
|
||||
return;
|
||||
}
|
||||
|
||||
foreach my $item (@{setting('reports_menu')->{ $config->{category} }}) {
|
||||
foreach my $item (@{setting('_reports_menu')->{ $config->{category} }}) {
|
||||
if ($item eq $config->{tag}) {
|
||||
setting('reports')->{$config->{tag}} = $config;
|
||||
setting('_reports')->{$config->{tag}} = $config;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
push @{setting('reports_menu')->{ $config->{category} }}, $config->{tag};
|
||||
setting('reports')->{$config->{tag}} = $config;
|
||||
push @{setting('_reports_menu')->{ $config->{category} }}, $config->{tag};
|
||||
setting('_reports')->{$config->{tag}} = $config;
|
||||
};
|
||||
|
||||
register_plugin;
|
||||
|
||||
@@ -10,7 +10,7 @@ get '/report/*' => sub {
|
||||
|
||||
var(nav => 'reports');
|
||||
template 'report', {
|
||||
report => setting('reports')->{ $tag },
|
||||
report => setting('_reports')->{ $tag },
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
<i class="nd_sidebar-pin icon-pushpin nd_sidebar-pin-clicked"
|
||||
rel="tooltip" data-placement="left" data-offset="5" data-title="Unpin Sidebar"></i>
|
||||
<div class="tab-content">
|
||||
[% FOREACH tab IN settings.device_tabs %]
|
||||
[% FOREACH tab IN settings._device_tabs %]
|
||||
<div id="[% tab.tag %]_search" class="tab-pane [% 'active' IF params.tab == tab.tag %]">
|
||||
<form id="[% tab.tag %]_form" class="nd_sidebar-form form-stacked"
|
||||
method="get" action="[% uri_for('/device') %]">
|
||||
@@ -42,13 +42,13 @@
|
||||
|
||||
<div class="content">
|
||||
<ul id="nd_search-results" class="nav nav-tabs">
|
||||
[% FOREACH tab IN settings.device_tabs %]
|
||||
[% FOREACH tab IN settings._device_tabs %]
|
||||
<li[% ' class="active"' IF params.tab == tab.tag %]><a id="[% tab.tag %]_link" href="#[% tab.tag %]_pane">[% tab.label %]</a></li>
|
||||
[% END %]
|
||||
<span id="nd_device-name">[% d.dns || d.name | html_entity %]</span>
|
||||
</ul>
|
||||
<div class="tab-content">
|
||||
[% FOREACH tab IN settings.device_tabs %]
|
||||
[% FOREACH tab IN settings._device_tabs %]
|
||||
<div class="tab-pane[% ' active' IF params.tab == tab.tag %]" id="[% tab.tag %]_pane"></div>
|
||||
[% END %]
|
||||
</div>
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
$(document).ready(function() {
|
||||
// search tabs
|
||||
[% FOREACH tab IN settings.search_tabs %]
|
||||
[% FOREACH tab IN settings._search_tabs %]
|
||||
$('[% "#${tab.tag}_form" %]').submit(function(event){ do_search(event, '[% tab.tag %]'); });
|
||||
[% END %]
|
||||
|
||||
// device tabs
|
||||
[% FOREACH tab IN settings.device_tabs %]
|
||||
[% FOREACH tab IN settings._device_tabs %]
|
||||
$('[% "#${tab.tag}_form" %]').submit(function(event){ do_search(event, '[% tab.tag %]'); });
|
||||
[% END %]
|
||||
|
||||
|
||||
@@ -54,22 +54,22 @@
|
||||
<a class="brand" href="[% uri_for('/') %]">Netdisco</a>
|
||||
[% IF session.user %]
|
||||
<ul class="nav">
|
||||
[% FOREACH ni IN settings.navbar_items %]
|
||||
[% FOREACH ni IN settings._navbar_items %]
|
||||
<li[% ' class="active"' IF vars.nav == ni.tag %]>
|
||||
<a href="[% uri_for(ni.path) %]">[% ni.label | html_entity %]</a>
|
||||
</li>
|
||||
[% END %]
|
||||
[% IF settings.reports.size %]
|
||||
[% IF settings._reports.size %]
|
||||
<li class="dropdown[% ' active' IF vars.nav == 'reports' %]">
|
||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Reports <b class="caret"></b></a>
|
||||
<ul class="dropdown-menu">
|
||||
[% FOREACH category IN settings.report_order %]
|
||||
[% IF settings.reports_menu.$category.size %]
|
||||
[% FOREACH category IN settings._report_order %]
|
||||
[% IF settings._reports_menu.$category.size %]
|
||||
<li class="dropdown-submenu">
|
||||
<a href="#">[% category | html_entity %]</a>
|
||||
<ul class="dropdown-menu">
|
||||
[% FOREACH item IN settings.reports_menu.$category %]
|
||||
<li><a href="[% uri_for('/report/' _ item) %]">[% settings.reports.$item.label | html_entity %]</a></li>
|
||||
[% FOREACH item IN settings._reports_menu.$category %]
|
||||
<li><a href="[% uri_for('/report/' _ item) %]">[% settings._reports.$item.label | html_entity %]</a></li>
|
||||
[% END %]
|
||||
</ul>
|
||||
</li>
|
||||
@@ -86,13 +86,13 @@
|
||||
<i id="navsearchgo" class="icon-search nd_navbar-icon"></i>
|
||||
</span>
|
||||
</form>
|
||||
[% IF vars.user.admin AND settings.admin_tasks.size %]
|
||||
[% IF vars.user.admin AND settings._admin_tasks.size %]
|
||||
<ul class="nav">
|
||||
<li class="dropdown[% ' active' IF vars.nav == 'admin' %]">
|
||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Admin Tasks <b class="caret"></b></a>
|
||||
<ul class="dropdown-menu">
|
||||
[% FOREACH ai IN settings.admin_tasks.keys.sort %]
|
||||
<li><a href="[% uri_for('/admin/' _ ai) %]">[% settings.admin_tasks.$ai.label | html_entity %]</a></li>
|
||||
[% FOREACH ai IN settings._admin_tasks.keys.sort %]
|
||||
<li><a href="[% uri_for('/admin/' _ ai) %]">[% settings._admin_tasks.$ai.label | html_entity %]</a></li>
|
||||
[% END %]
|
||||
</ul>
|
||||
</li> <!-- /dropdown -->
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
<i class="nd_sidebar-pin icon-pushpin"
|
||||
rel="tooltip" data-placement="left" data-offset="5" data-title="Pin Sidebar"></i>
|
||||
<div class="tab-content">
|
||||
[% FOREACH tab IN settings.search_tabs %]
|
||||
[% FOREACH tab IN settings._search_tabs %]
|
||||
<div id="[% tab.tag %]_search" class="tab-pane [% 'active' IF params.tab == tab.tag %]">
|
||||
<form id="[% tab.tag %]_form" class="nd_sidebar-form form-stacked" method="get" action="[% uri_for('/search') %]">
|
||||
<input name="tab" value="[% tab.tag %]" type="hidden"/>
|
||||
@@ -29,12 +29,12 @@
|
||||
|
||||
<div class="content">
|
||||
<ul id="nd_search-results" class="nav nav-tabs">
|
||||
[% FOREACH tab IN settings.search_tabs %]
|
||||
[% FOREACH tab IN settings._search_tabs %]
|
||||
<li[% ' class="active"' IF params.tab == tab.tag %]><a id="[% tab.tag %]_link" href="#[% tab.tag %]_pane">[% tab.label %]</a></li>
|
||||
[% END %]
|
||||
</ul>
|
||||
<div class="tab-content">
|
||||
[% FOREACH tab IN settings.search_tabs %]
|
||||
[% FOREACH tab IN settings._search_tabs %]
|
||||
<div class="tab-pane[% ' active' IF params.tab == tab.tag %]" id="[% tab.tag %]_pane"></div>
|
||||
[% END %]
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user