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