sort the tenants in menu
This commit is contained in:
@@ -19,6 +19,7 @@ use Module::Load ();
|
||||
use Data::Visitor::Tiny;
|
||||
use Scalar::Util 'blessed';
|
||||
use Storable 'dclone';
|
||||
use URI::Based;
|
||||
|
||||
use App::Netdisco::Util::Web qw/
|
||||
interval_to_daterange
|
||||
@@ -187,14 +188,18 @@ hook after_error_render => sub { setting('layout' => 'main') };
|
||||
|
||||
# build lookup for tenancies
|
||||
{
|
||||
set('tenant_displaynames' => {
|
||||
map { ( $_->{tag} => { displayname => $_->{displayname},
|
||||
path => config->{url_base}->with("/t/$_->{tag}")->path } ) }
|
||||
set('tenant_data' => {
|
||||
map { ( $_->{tag} => { displayname => $_->{'displayname'},
|
||||
tag => $_->{'tag'},
|
||||
path => config->{'url_base'}->with("/t/$_->{tag}")->path } ) }
|
||||
@{ setting('tenant_databases') },
|
||||
{ tag => 'netdisco', displayname => 'Default' }
|
||||
});
|
||||
config->{'tenant_displaynames'}->{'netdisco'}->{'path'}
|
||||
config->{'tenant_data'}->{'netdisco'}->{'path'}
|
||||
= URI::Based->new((config->{path} eq '/') ? '' : config->{path})->path;
|
||||
set('tenant_tags' => [ map { $_->{'tag'} }
|
||||
sort { $a->{'displayname'} cmp $b->{'displayname'} }
|
||||
values %{ config->{'tenant_data'} } ]);
|
||||
}
|
||||
|
||||
hook 'before' => sub {
|
||||
|
||||
@@ -176,17 +176,17 @@
|
||||
<li class="dropdown">
|
||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
|
||||
<i class="icon-home text-success"></i>
|
||||
[% settings.tenant_displaynames.$tenant.displayname || 'Default' | html_entity %]
|
||||
[% settings.tenant_data.$tenant.displayname || 'Default' | html_entity %]
|
||||
<b class="caret"></b>
|
||||
</a>
|
||||
<ul class="dropdown-menu">
|
||||
[% FOREACH t IN settings.tenant_displaynames.keys %]
|
||||
[% FOREACH t IN settings.tenant_tags %]
|
||||
[% NEXT IF tenant AND t == tenant %]
|
||||
[% NEXT IF NOT tenant and t == 'netdisco' %]
|
||||
<li><a class="nd_navtenant" href=""
|
||||
data-currenttenant="[% settings.tenant_displaynames.$tenant.path || settings.tenant_displaynames.netdisco.path %]"
|
||||
data-tenantpath="[% settings.tenant_displaynames.$t.path %]"
|
||||
data-tenant="[% t %]">[% settings.tenant_displaynames.$t.displayname | html_entity %]</a></li>
|
||||
data-currenttenant="[% settings.tenant_data.$tenant.path || settings.tenant_data.netdisco.path %]"
|
||||
data-tenantpath="[% settings.tenant_data.$t.path %]"
|
||||
data-tenant="[% t %]">[% settings.tenant_data.$t.displayname | html_entity %]</a></li>
|
||||
[% END %]
|
||||
</ul>
|
||||
</li> <!-- /dropdown -->
|
||||
|
||||
Reference in New Issue
Block a user