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