* Improved the navigation bar: don't include all projects (since that
doesn't scale), and include links for jobset/job specific pages. The main page now lists the projects. * Overview pages for jobsets and jobs. * Links to the channels. * Jobsets are now defined and edited in a separate action.
This commit is contained in:
119
src/root/navbar.tt
Normal file
119
src/root/navbar.tt
Normal file
@ -0,0 +1,119 @@
|
||||
[% BLOCK makeLinkWrapped %]
|
||||
<li [% IF curUri == uri %]class="active"[% END %]>
|
||||
<div class="title"><a href="[% uri %]">[% title %]</a></div>
|
||||
[% content %]
|
||||
</li>
|
||||
[% END %]
|
||||
|
||||
[% BLOCK makeLink -%]
|
||||
[% INCLUDE makeLinkWrapped content="" -%]
|
||||
[% END %]
|
||||
|
||||
[% BLOCK makeSubMenu %]
|
||||
[% extra = collapsed ? "collapsed" : "" %]
|
||||
<li class="submenu">
|
||||
<div class="title [% extra %]"><a class="[% collapsed ? "submenuToggleCollapsed" : "submenuToggleExpanded" %]"
|
||||
href="javascript:">[% HTML.escape(title) %]</a></div>
|
||||
<ul class="submenu [% extra %]">
|
||||
[% content %]
|
||||
</ul>
|
||||
</li>
|
||||
[% END %]
|
||||
|
||||
|
||||
<ul class="menu">
|
||||
|
||||
|
||||
[% WRAPPER makeSubMenu title="Hydra" collapsed=0 %]
|
||||
[% INCLUDE makeLink
|
||||
uri = c.uri_for(c.controller('Root').action_for('index'))
|
||||
title = "Overview" %]
|
||||
[% INCLUDE makeLink
|
||||
uri = c.uri_for(c.controller('Root').action_for('queue'))
|
||||
title = "Queue" %]
|
||||
[% INCLUDE makeLink
|
||||
uri = c.uri_for(c.controller('Root').action_for('all'))
|
||||
title = "All builds" %]
|
||||
[% INCLUDE makeLink
|
||||
uri = c.uri_for(c.controller('Root').action_for('jobstatus'))
|
||||
title = "Job status" %]
|
||||
[% END %]
|
||||
|
||||
|
||||
[% IF project %]
|
||||
[% WRAPPER makeSubMenu title="Project" collapsed=(jobset || job) %]
|
||||
[% INCLUDE makeLink
|
||||
uri = c.uri_for(c.controller('Project').action_for('view'), [project.name])
|
||||
title = "Overview" %]
|
||||
[% INCLUDE makeLink
|
||||
uri = c.uri_for(c.controller('Project').action_for('all'), [project.name])
|
||||
title = "All builds" %]
|
||||
[% INCLUDE makeLink
|
||||
uri = c.uri_for(c.controller('Project').action_for('jobstatus'), [project.name])
|
||||
title = "Job status" %]
|
||||
[% END %]
|
||||
[% END %]
|
||||
|
||||
|
||||
[% IF jobset %]
|
||||
[% WRAPPER makeSubMenu title="Jobset" collapsed=job %]
|
||||
[% INCLUDE makeLink
|
||||
uri = c.uri_for(c.controller('Jobset').action_for('index'), [project.name, jobset.name])
|
||||
title = "Overview" %]
|
||||
[% INCLUDE makeLink
|
||||
uri = c.uri_for(c.controller('Jobset').action_for('all'), [project.name, jobset.name])
|
||||
title = "All builds" %]
|
||||
[% INCLUDE makeLink
|
||||
uri = c.uri_for(c.controller('Jobset').action_for('jobstatus'), [project.name, jobset.name])
|
||||
title = "Job status" %]
|
||||
[% END %]
|
||||
[% END %]
|
||||
|
||||
|
||||
[% IF job %]
|
||||
[% WRAPPER makeSubMenu title="Job" %]
|
||||
[% INCLUDE makeLink
|
||||
uri = c.uri_for(c.controller('Job').action_for('index'), [project.name, jobset.name, job.name])
|
||||
title = "Overview" %]
|
||||
[% INCLUDE makeLink
|
||||
uri = c.uri_for(c.controller('Job').action_for('all'), [project.name, jobset.name, job.name])
|
||||
title = "All builds" %]
|
||||
[% INCLUDE makeLink
|
||||
uri = c.uri_for(c.controller('Job').action_for('jobstatus'), [project.name, jobset.name, job.name])
|
||||
title = "Job status" %]
|
||||
[% END %]
|
||||
[% END %]
|
||||
|
||||
|
||||
[% WRAPPER makeSubMenu title="Admin" collapsed=0 %]
|
||||
[% IF c.user_exists %]
|
||||
[% INCLUDE makeLink
|
||||
uri = c.uri_for(c.controller('Root').action_for('logout'))
|
||||
title = "Logout" %]
|
||||
[% ELSE %]
|
||||
[% INCLUDE makeLink
|
||||
uri = c.uri_for(c.controller('Root').action_for('login'))
|
||||
title = "Login" %]
|
||||
[% END %]
|
||||
[% INCLUDE makeLink
|
||||
uri = c.uri_for(c.controller('Project').action_for('create'))
|
||||
title = "Create project" %]
|
||||
[% END %]
|
||||
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() {
|
||||
$('.submenuToggleExpanded').toggle(
|
||||
function () { $(".submenu", $(this).parents(".submenu")).slideUp(); },
|
||||
function () { $(".submenu", $(this).parents(".submenu")).slideDown(); }
|
||||
);
|
||||
|
||||
$('.submenuToggleCollapsed').toggle(
|
||||
function () { $(".submenu", $(this).parents(".submenu")).slideDown(); },
|
||||
function () { $(".submenu", $(this).parents(".submenu")).slideUp(); }
|
||||
);
|
||||
});
|
||||
</script>
|
Reference in New Issue
Block a user