forked from lix-project/hydra
58a6fdc5ed
They're mostly redundant since there is a faster "jobs" tab on the jobset pages now. The only thing the latter lacks is the ability to see status change times, but those are quite expensive to compute, and are visible on build pages if you really need them.
205 lines
8.4 KiB
Text
205 lines
8.4 KiB
Text
[% BLOCK menuItem %]
|
|
<li class="[% IF "${root}${curUri}" == uri %]active[% END %]" [% IF confirmmsg %]onclick="javascript:return confirm('[% confirmmsg %]')"[% END %]>
|
|
<a href="[% uri %]" [% IF modal %]data-toggle="modal"[% END %]>[% title %]</a>
|
|
</li>
|
|
[% END %]
|
|
|
|
[% BLOCK makeSubMenu %]
|
|
<li class="dropdown">
|
|
<a class="dropdown-toggle" href="#" data-toggle="dropdown">[% title %]<b class="caret"></b></a>
|
|
<ul id="left-menu" class="dropdown-menu">
|
|
[% content %]
|
|
</ul>
|
|
</li>
|
|
[% END %]
|
|
|
|
<ul class="nav pull-left" id="top-menu">
|
|
|
|
[% WRAPPER makeSubMenu title="Status" %]
|
|
[% INCLUDE menuItem
|
|
uri = c.uri_for(c.controller('Root').action_for('queue'))
|
|
title = "Queue ("_ nrRunningBuilds _"/"_ nrQueuedBuilds _")" %]
|
|
[% INCLUDE menuItem
|
|
uri = c.uri_for(c.controller('Root').action_for('status'))
|
|
title = "Active build steps" %]
|
|
[% INCLUDE menuItem
|
|
uri = c.uri_for(c.controller('Root').action_for('machines'))
|
|
title = "Machine status" %]
|
|
[% INCLUDE menuItem
|
|
uri = c.uri_for(c.controller('Root').action_for('evals'))
|
|
title = "Latest evaluations" %]
|
|
[% INCLUDE menuItem
|
|
uri = c.uri_for(c.controller('Root').action_for('all'))
|
|
title = "Latest builds" %]
|
|
[% END %]
|
|
|
|
[% IF project %]
|
|
[% WRAPPER makeSubMenu title="Project" %]
|
|
<li class="nav-header">[% HTML.escape(project.name) %]</li>
|
|
<li class="divider"></li>
|
|
[% INCLUDE menuItem uri = c.uri_for(c.controller('Project').action_for('project'), [project.name]) title = "Overview" %]
|
|
[% INCLUDE menuItem uri = c.uri_for(c.controller('Project').action_for('all'), [project.name]) title = "Latest builds" %]
|
|
[% INCLUDE menuItem uri = c.uri_for(c.controller('Project').action_for('errors'), [project.name]) title = "Errors" %]
|
|
<li class="divider"></li>
|
|
[% INCLUDE menuItem uri = c.uri_for('/project' project.name 'channel' 'latest') title = "Channel" %]
|
|
[% IF c.user_exists %]
|
|
<li class="divider"></li>
|
|
[% INCLUDE menuItem uri = c.uri_for('/project' project.name 'edit') title="Edit" %]
|
|
[% INCLUDE menuItem uri = c.uri_for(c.controller('Project').action_for('create_jobset'), [project.name]) title = "Create jobset" %]
|
|
[% END %]
|
|
[% END %]
|
|
[% END %]
|
|
|
|
[% IF jobset %]
|
|
[% WRAPPER makeSubMenu title="Jobset" %]
|
|
<li class="nav-header">[% HTML.escape(jobset.name) %]</li>
|
|
<li class="divider"></li>
|
|
[% INCLUDE menuItem
|
|
uri = c.uri_for(c.controller('Jobset').action_for('jobset'), [project.name, jobset.name])
|
|
title = "Overview" %]
|
|
[% INCLUDE menuItem
|
|
uri = c.uri_for(c.controller('Jobset').action_for('evals'), [project.name, jobset.name])
|
|
title = "Evaluations" %]
|
|
[% INCLUDE menuItem
|
|
uri = c.uri_for(c.controller('Jobset').action_for('all'), [project.name, jobset.name])
|
|
title = "Latest builds" %]
|
|
[% INCLUDE menuItem
|
|
uri = c.uri_for(c.controller('Jobset').action_for('errors'), [project.name, jobset.name])
|
|
title = "Errors" %]
|
|
<li class="divider"></li>
|
|
[% INCLUDE menuItem uri = c.uri_for('/jobset' project.name jobset.name 'channel' 'latest') title = "Channel" %]
|
|
[% IF c.user_exists %]
|
|
<li class="divider"></li>
|
|
[% INCLUDE menuItem uri = c.uri_for('/jobset' project.name jobset.name 'edit') title="Edit" %]
|
|
[% INCLUDE menuItem uri = c.uri_for('/jobset' project.name jobset.name 'clone') title="Clone" %]
|
|
|
|
<script>
|
|
function confirmEvaluateJobset() {
|
|
bootbox.confirm(
|
|
'Are you sure you want to force evaluation of this jobset?',
|
|
function(c) {
|
|
if (!c) return;
|
|
$.post("[% c.uri_for('/api/push', { jobsets = project.name _ ':' _ jobset.name, force = "1" }) %]")
|
|
.done(function(data) {
|
|
if (data.error)
|
|
bootbox.alert("Unable to schedule the jobset for evaluation: " + data.error);
|
|
else
|
|
bootbox.alert("The jobset has been scheduled for evaluation.");
|
|
})
|
|
.fail(function() { bootbox.alert("Server request failed!"); });
|
|
});
|
|
return;
|
|
};
|
|
</script>
|
|
[% INCLUDE menuItem title="Evaluate" uri = "javascript:confirmEvaluateJobset()" %]
|
|
|
|
[% END %]
|
|
[% END %]
|
|
[% END %]
|
|
|
|
[% IF job %]
|
|
[% WRAPPER makeSubMenu title="Job" %]
|
|
<li class="nav-header">[% HTML.escape(job.name) %]</li>
|
|
<li class="divider"></li>
|
|
[% INCLUDE menuItem
|
|
uri = c.uri_for(c.controller('Job').action_for('overview'), [project.name, jobset.name, job.name])
|
|
title = "Overview" %]
|
|
[% INCLUDE menuItem
|
|
uri = c.uri_for(c.controller('Job').action_for('all'), [project.name, jobset.name, job.name])
|
|
title = "Latest builds" %]
|
|
[% INCLUDE menuItem
|
|
uri = c.uri_for(c.controller('Job').action_for('errors'), [project.name, jobset.name, job.name])
|
|
title = "Errors" %]
|
|
<li class="divider"></li>
|
|
[% INCLUDE menuItem uri = c.uri_for('/job' project.name jobset.name job.name 'channel' 'latest') title = "Channel" %]
|
|
[% END %]
|
|
[% END %]
|
|
|
|
[% IF build %]
|
|
[% WRAPPER makeSubMenu title="Build" %]
|
|
<li class="nav-header">#[% build.id %]</li>
|
|
<li class="divider"></li>
|
|
[% INCLUDE menuItem
|
|
uri = c.uri_for('/build' build.id)
|
|
title = "Overview" %]
|
|
[% IF c.user_exists %]
|
|
<li class="divider"></li>
|
|
[% INCLUDE menuItem
|
|
uri = c.uri_for('/build' build.id 'clone')
|
|
title = "Clone build" %]
|
|
[% IF available %]
|
|
[% IF build.keep %]
|
|
[% INCLUDE menuItem
|
|
uri = c.uri_for('/build' build.id 'keep' 0)
|
|
title = "Unkeep build" %]
|
|
[% ELSE %]
|
|
[% INCLUDE menuItem
|
|
uri = c.uri_for('/build' build.id 'keep' 1)
|
|
title = "Keep build" %]
|
|
[% END %]
|
|
[% END %]
|
|
[% IF build.finished %]
|
|
[% INCLUDE menuItem
|
|
uri = c.uri_for('/build' build.id 'restart')
|
|
title = "Restart build" %]
|
|
[% END %]
|
|
[% IF !build.finished %]
|
|
[% INCLUDE menuItem
|
|
uri = c.uri_for('/build' build.id 'cancel')
|
|
title = "Cancel build" %]
|
|
[% END %]
|
|
[% IF available && project.releases %]
|
|
[% INCLUDE menuItem
|
|
uri = "#add-to-release"
|
|
title = "Add to release"
|
|
modal = 1 %]
|
|
[% END %]
|
|
[% END %]
|
|
[% END %]
|
|
[% END %]
|
|
|
|
[% IF c.user_exists && c.check_user_roles('admin') %]
|
|
[% WRAPPER makeSubMenu title="Admin" %]
|
|
[% IF c.check_user_roles('admin') %]
|
|
[% INCLUDE menuItem uri = c.uri_for(c.controller('Project').action_for('create')) title = "Create project" %]
|
|
<li class="divider"></li>
|
|
[% END %]
|
|
[% INCLUDE menuItem
|
|
uri = c.uri_for(c.controller('Admin').action_for('machines'))
|
|
title = "Manage machines" %]
|
|
[% INCLUDE menuItem
|
|
uri = c.uri_for(c.controller('Admin').action_for('managenews'))
|
|
title = "Manage news" %]
|
|
[% INCLUDE menuItem
|
|
uri = c.uri_for(c.controller('Admin').action_for('users'))
|
|
title = "Manage users" %]
|
|
<li class="divider"></li>
|
|
[% INCLUDE menuItem
|
|
uri = c.uri_for(c.controller('Admin').action_for('clearfailedcache'))
|
|
title = "Clear failed builds cache"
|
|
confirmmsg = "Are you sure you want to clear the failed builds cache?"
|
|
class = "" %]
|
|
[% INCLUDE menuItem
|
|
uri = c.uri_for(c.controller('Admin').action_for('clear_queue_non_current'))
|
|
title = "Clear all non-running old builds from queue"
|
|
confirmmsg = "Are you sure you want to clear the queue?"
|
|
class = "" %]
|
|
[% END %]
|
|
[% END %]
|
|
|
|
</ul>
|
|
|
|
<ul class="nav pull-right" id="top-menu">
|
|
|
|
<form class="navbar-search" action="[% c.uri_for('/search') %]">
|
|
<input name="query" type="text" class="search-query span2" placeholder="Search" [% HTML.attributes(value => c.req.params.query) %]></input>
|
|
</form>
|
|
|
|
[% IF c.user_exists %]
|
|
[% INCLUDE menuItem uri = c.uri_for(c.controller('User').action_for('edit'), [c.user.username]) title = "Preferences" %]
|
|
[% INCLUDE menuItem uri = c.uri_for(c.controller('Root').action_for('logout')) title = "Sign out" %]
|
|
[% ELSE %]
|
|
[% INCLUDE menuItem uri = c.uri_for(c.controller('Root').action_for('login')) title = "Sign in" %]
|
|
[% END %]
|
|
|
|
</ul>
|