diff --git a/lib/App/Netdisco/Web.pm b/lib/App/Netdisco/Web.pm index 8d47aab8..3cae4070 100644 --- a/lib/App/Netdisco/Web.pm +++ b/lib/App/Netdisco/Web.pm @@ -121,7 +121,23 @@ hook 'before_template' => sub { hook 'before_template' => sub { my $tokens = shift; - return unless var('sidebar_key') =~ m/^\w+_\w+$/; + + # allow portable static content + $tokens->{uri_base} = request->base->path + if request->base->path ne '/'; + + # allow portable dynamic content + $tokens->{uri_for} = sub { uri_for(@_)->path_query }; + + # access to logged in user's roles + $tokens->{user_has_role} = sub { user_has_role(@_) }; + + # create date ranges from within templates + $tokens->{to_daterange} = sub { interval_to_daterange(@_) }; + + # data structure for DataTables records per page menu + $tokens->{table_showrecordsmenu} = + to_json( setting('table_showrecordsmenu') ); # linked searches will use these default url path params foreach my $sidebar_key (keys %{ var('sidebar_defaults') }) { @@ -145,28 +161,6 @@ hook 'before_template' => sub { # helper from NetAddr::MAC for the MAC formatting $tokens->{mac_format_call} = 'as_'. lc(param('mac_format')) if param('mac_format'); -}; - -# this hook should be loaded _after_ all plugins -hook 'before_template' => sub { - my $tokens = shift; - - # allow portable static content - $tokens->{uri_base} = request->base->path - if request->base->path ne '/'; - - # allow portable dynamic content - $tokens->{uri_for} = sub { uri_for(@_)->path_query }; - - # access to logged in user's roles - $tokens->{user_has_role} = sub { user_has_role(@_) }; - - # create date ranges from within templates - $tokens->{to_daterange} = sub { interval_to_daterange(@_) }; - - # data structure for DataTables records per page menu - $tokens->{table_showrecordsmenu} = - to_json( setting('table_showrecordsmenu') ); # allow very long lists of ports $Template::Directive::WHILE_MAX = 10_000;