Files
netdisco/Netdisco/share/views/layouts/main.tt
Oliver Gorwits ca6a08ef46 Change from ?tab=tabname param to .../tabname path
The reason for this is that DataTables keys local data on the page path, so
each tab should have its own path. We're already doing this for reports and
admin tasks, so it also makes sense to have consistency with search and device
tabs.

Squashed commit of the following:

commit 4ad33a23a81122496adfe561ad14f039e6255eff
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Sat Oct 25 14:46:17 2014 +0100

    fix search preference selection

commit 363e094935d386961e8773f787af41c46b83129a
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Sat Oct 25 14:36:45 2014 +0100

    fix css selector to match begins with /search

commit 43c972ee0d9401f74dcc3bd30052dba130b0d068
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Sat Oct 25 14:18:24 2014 +0100

    fix history push

commit 84f83eb46874b0222c0484014389713e4f027c8a
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Sat Oct 25 14:06:44 2014 +0100

    update sidebar form for tab-path, remove hidden tab name field

commit 344d4679a83f714c998cd475c041f8effab0c696
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Sat Oct 25 14:05:49 2014 +0100

    update template links for tab path

commit 9cf370d7eb4413aac6fc19c2c13a9bf670600965
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Sat Oct 25 14:04:57 2014 +0100

    move tab-specific JS from common into specific includes files

commit c2d8592a18e389535368d1e74fed29fe5a0eabd8
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Sat Oct 25 14:02:46 2014 +0100

    fix mode

commit 52487cea47eaaea7f5c74536ad6d4bb2a8d6ba4c
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Sat Oct 25 14:01:15 2014 +0100

    move from tab param to tabname template var

commit b5a2424631a0050d5de3bc658746a40cd822e869
Merge: 531782b d8102bf
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Sat Oct 25 10:50:00 2014 +0100

    Merge branch 'master' into em-device-ports-json
2014-10-25 14:51:15 +01:00

194 lines
9.6 KiB
Plaintext

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-type" content="text/html; charset=[% settings.charset | html_entity %]" />
<link rel="shortcut icon" href="data:image/x-icon;," type="image/x-icon">
<title>Netdisco</title>
<!-- HTML5 shim, for IE6-8 support of HTML elements -->
<!--[if lt IE 9]>
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<script type="text/javascript" src="[% uri_base %]/javascripts/jquery-latest.min.js"></script>
<!-- <script type="text/javascript" src="http://code.jquery.com/jquery-migrate-1.1.1.js"></script> -->
<script type="text/javascript" src="[% uri_base %]/javascripts/jquery-ui.custom.min.js"></script>
<script type="text/javascript" src="[% uri_base %]/javascripts/jquery-history.js"></script>
<script type="text/javascript" src="[% uri_base %]/javascripts/jquery.cookie.js"></script>
<script type="text/javascript" src="[% uri_base %]/javascripts/jquery-deserialize.js"></script>
<script type="text/javascript" src="[% uri_base %]/javascripts/bootstrap.min.js"></script>
<script type="text/javascript" src="[% uri_base %]/javascripts/underscore.min.js"></script>
<script type="text/javascript" src="[% uri_base %]/javascripts/jquery.qtip.min.js"></script>
<script type="text/javascript" src="[% uri_base %]/javascripts/d3.min.js"></script>
<script type="text/javascript" src="[% uri_base %]/javascripts/toastr.js"></script>
<script type="text/javascript" src="[% uri_base %]/javascripts/jquery.floatThead.js"></script>
<script type="text/javascript" src="[% uri_base %]/javascripts/daterangepicker.js"></script>
<script type="text/javascript" src="[% uri_base %]/javascripts/moment.min.js"></script>
<script type="text/javascript" src="[% uri_base %]/javascripts/jquery.dataTables.min.js"></script>
<script type="text/javascript" src="[% uri_base %]/javascripts/dataTables.bootstrap.js"></script>
<script type="text/javascript" src="[% uri_base %]/javascripts/dataTables.ip-address-detect.js"></script>
<script type="text/javascript" src="[% uri_base %]/javascripts/dataTables.ip-address-sort.js"></script>
<script type="text/javascript" src="[% uri_base %]/javascripts/he.js"></script>
<script type="text/javascript" src="[% uri_base %]/javascripts/natural.js"></script>
<script type="text/javascript" src="[% uri_base %]/javascripts/portsort.js"></script>
<script type="text/javascript" src="[% uri_base %]/javascripts/dataTables.colVis.js"></script>
<script type="text/javascript" src="[% uri_base %]/javascripts/netdisco-util.js"></script>
<script type="text/javascript" src="[% uri_base %]/javascripts/webtoolkit.base64.js"></script>
<script type="text/javascript">
var uri_base = '[% uri_base %]';
var nd_check_userlog = '[% settings.check_userlog %]';
</script>
<script type="text/javascript" src="[% uri_base %]/javascripts/netdisco.js"></script>
[% IF user_has_role('port_control') %]
<script type="text/javascript" src="[% uri_base %]/javascripts/netdisco_portcontrol.js"></script>
[% END %]
[% FOREACH add_js IN settings._additional_javascript %]
<script type="text/javascript" src="[% uri_base %]/plugin/[% add_js %]/[% add_js %].js"></script>
[% END %]
<link rel="stylesheet" href="[% uri_base %]/css/bootstrap.min.css"/>
<link rel="stylesheet" href="[% uri_base %]/css/jquery.qtip.min.css"/>
<link rel="stylesheet" href="[% uri_base %]/css/smoothness/jquery-ui.custom.min.css"/>
<link rel="stylesheet" href="[% uri_base %]/css/font-awesome.min.css"/>
<link rel="stylesheet" href="[% uri_base %]/css/toastr.css"/>
<link rel="stylesheet" href="[% uri_base %]/css/netdisco.css"/>
<link rel="stylesheet" href="[% uri_base %]/css/bootstrap-tree.css"/>
<link rel="stylesheet" href="[% uri_base %]/css/daterangepicker-bs2.css"/>
<link rel="stylesheet" href="[% uri_base %]/css/dataTables.bootstrap.css"/>
<link rel="stylesheet" href="[% uri_base %]/css/dataTables.colVis.css"/>
<link rel="stylesheet" href="[% uri_base %]/css/nd_print.css" media="print"/>
[% FOREACH add_css IN settings._additional_css %]
<link rel="stylesheet" href="[% uri_base %]/plugin/[% add_css %]/[% add_css %].css"/>
[% END %]
</head>
<body>
<div class="navbar navbar-inverse navbar-fixed-top">
<div class="navbar-inner">
<div class="container">
<a class="brand" href="[% uri_for('/') %]">Netdisco</a>
[% IF session.logged_in_user %]
<ul class="nav">
[% 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 %]
<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 %]
<li class="dropdown-submenu">
<a href="#">[% category | html_entity %]</a>
<ul class="dropdown-menu">
[% FOREACH item IN settings._reports_menu.$category %]
[% NEXT IF settings._reports.$item.hidden %]
<li><a href="[% uri_for('/report/' _ item) %]">[% settings._reports.$item.label | html_entity %]</a></li>
[% END %]
</ul>
</li>
[% END %]
[% END %]
</ul>
</li> <!-- /dropdown -->
[% END %]
[% IF user_has_role('admin') %]
<li class="dropdown[% ' active' IF vars.nav == 'admin' %]">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Admin <b class="caret"></b></a>
<ul class="dropdown-menu">
<li>
<form method="post" class="nd_inline-form" action="[% uri_for('/admin/discoverall') %]">
<button type="submit" class="btn btn-link nd_btn-link">Discover All</button>
</form>
</li>
<li>
<form method="post" class="nd_inline-form" action="[% uri_for('/admin/arpwalk') %]">
<button type="submit" class="btn btn-link nd_btn-link">Arpnip All</button>
</form>
</li>
<li>
<form method="post" class="nd_inline-form" action="[% uri_for('/admin/macwalk') %]">
<button type="submit" class="btn btn-link nd_btn-link">Macsuck All</button>
</form>
</li>
<li>
<form method="post" class="nd_inline-form" action="[% uri_for('/admin/nbtwalk') %]">
<button type="submit" class="btn btn-link nd_btn-link">NBTstat All</button>
</form>
</li>
[% IF settings._admin_tasks.size %]
<li class="divider"></li>
[% FOREACH ai IN settings._admin_order %]
[% NEXT IF settings._admin_tasks.$ai.hidden %]
<li><a href="[% uri_for('/admin/' _ ai) %]">[% settings._admin_tasks.$ai.label | html_entity %]</a></li>
[% END %]
[% END %]
</ul>
</li> <!-- /dropdown -->
[% END %]
</ul>
<form class="navbar-search pull-left" method="get" action="[% uri_for('/search') %]">
<input placeholder="Find Anything" class="search-query span3"
id="nq" name="q" value="[% display_name %]" type="text" autocomplete="off"/>
<div class="btn-group nd_navbar-search-group">
<button class="btn btn-inverse nd_navbar-search-icon">
<span style="font-size: 18px;">
<i id="navsearchgo" class="icon-search"
rel="tooltip" data-placement="bottom" data-offset="5" data-title="New Search" data-container="body"></i>
</span>
</button>
<button class="btn btn-inverse dropdown-toggle nd_navbar-search-caret" data-toggle="dropdown">
<span class="caret" style="border-top-color: #999; border-bottom-color: #999"></span>
</button>
<ul class="dropdown-menu">
<li><a class="nd_navsearchgo-specific" href="" data-prefer="device">Search Devices</a></li>
<li><a class="nd_navsearchgo-specific" href="" data-prefer="node">Search Nodes</a></li>
<li><a class="nd_navsearchgo-specific" href="" data-prefer="vlan">Search VLANs</a></li>
<li><a class="nd_navsearchgo-specific" href="" data-prefer="port">Search Ports</a></li>
</ul>
</div>
</form>
<ul class="nav pull-right">
<li class="nd_navbar-text">Logged in as&nbsp;</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
[% IF user_has_role('admin') %]
<i class="icon-user text-error"></i>
[% ELSIF user_has_role('port_control') %]
<i class="icon-user text-warning"></i>
[% ELSE %]
<i class="icon-user"></i>
[% END %]&nbsp;
[% session.logged_in_user | html_entity %] <b class="caret"></b>
</a>
<ul class="dropdown-menu">
[% IF NOT user_has_role('ldap') %]
<li><a href="[% uri_for('/password') %]">Change Password</a></li>
[% END %]
[% IF NOT settings.no_auth %]
<li><a href="[% uri_for('/logout') %]">Log Out</a></li>
[% END %]
</ul>
</li> <!-- /dropdown -->
</ul>
[% END %]
</div>
</div>
</div>
[% content %]
<script type="text/javascript">
[%+ INCLUDE 'js/common.js' -%]
</script>
</body>
</html>