rename private settings keys

This commit is contained in:
Oliver Gorwits
2013-05-30 06:30:06 +01:00
parent fdac8f6c33
commit 76b7636c74
8 changed files with 38 additions and 35 deletions

View File

@@ -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 {

View File

@@ -71,7 +71,7 @@ get '/admin/*' => sub {
var(nav => 'admin');
template 'admintask', {
task => setting('admin_tasks')->{ $tag },
task => setting('_admin_tasks')->{ $tag },
};
};

View File

@@ -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;

View File

@@ -10,7 +10,7 @@ get '/report/*' => sub {
var(nav => 'reports');
template 'report', {
report => setting('reports')->{ $tag },
report => setting('_reports')->{ $tag },
};
};

View File

@@ -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>

View File

@@ -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 %]

View File

@@ -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 -->

View File

@@ -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>