jobset: Add a new "channels" tab.
[?]
Apr 14, 2015, 6:58 AM
RX7USXWQTA3K7KJJZKBEJ5XVCNA6DO7XCDGXNB2LMZ24BEWYKHKQCDependencies
- [2]
XU4PKY3UBy default, show the first 250 jobs only - [3]
NGYZCZYXAdd a link to the latest finished eval of a jobset - [*]
3HZY24CX* Make jobsets viewable under - [*]
TJPIS3UPhydra: minor improvements in hydra ui - [*]
D5QIOJGP* Move everything up one directory. - [*]
ODNCGFQ5* Improved the navigation bar: don't include all projects (since that - [*]
OX6NYJDVSplit viewing and editing a jobset
Change contents
- edit in src/lib/Hydra/Controller/Jobset.pm at line 145
}# XXX: Pretty much a rip-off of jobs-tab, make it DRY!sub channels_tab : Chained('jobsetChain') PathPart('channels-tab') Args(0) {my ($self, $c) = @_;$c->stash->{template} = 'jobset-channels-tab.tt';my @evals = $c->stash->{jobset}->jobsetevals->search({ hasnewbuilds => 1},{ order_by => "id desc", rows => 20 });my $evals = {};my %channels;foreach my $eval (@evals) {my @builds = $eval->builds->search({ 'buildproducts.type' => 'file', 'buildproducts.subtype' => 'channel' },{ join => ["buildproducts"], columns => ['id', 'job', 'finished', 'buildstatus'] });foreach my $b (@builds) {my $jobName = $b->get_column('job');$evals->{$eval->id}->{timestamp} = $eval->timestamp;$evals->{$eval->id}->{channels}->{$jobName} = {id => $b->id,finished => $b->finished,buildstatus => $b->buildstatus};$channels{$jobName} = 1;}}$c->stash->{evals} = $evals;my @channels = sort (keys %channels);$c->stash->{channels} = [@channels]; - file addition: jobset-channels-tab.tt[7.1486]
[% PROCESS common.tt %][% IF channels.size == 0 %]<div class="alert">There are no channels available.</div>[% ELSE %][% evalIds = evals.keys.nsort.reverse %]<table class="table table-striped table-condensed table-header-rotated"><thead><tr><th style="width: 1em;">Channel</th>[% FOREACH eval IN evalIds %]<th class="rotate-45"><div><span><a href="[% c.uri_for('/eval' eval) %]">[% INCLUDE renderRelativeDate timestamp=evals.$eval.timestamp %]</a></span></div></th>[% END %]</tr></thead><tbody>[% FOREACH chan IN channels-%]<tr><th><span>[% INCLUDE renderJobName project=project.name jobset=jobset.name job=chan %]</span></th>[% FOREACH eval IN evalIds %]<td>[% r = evals.$eval.channels.$chan; IF r.id %]<a href="[% c.uri_for('/build' r.id) %]">[% INCLUDE renderBuildStatusIcon size=16 build=r %]</a>[% END %]</td>[% END %]</tr>[% END %]</tbody></table>[% END %] - edit in src/root/jobset.tt at line 67[3.61][9.6981]
<li><a href="#tabs-channels" data-toggle="tab">Channels</a></li> - edit in src/root/jobset.tt at line 169[3.270][9.10749]
[% INCLUDE makeLazyTab tabName="tabs-channels" uri=c.uri_for('/jobset' project.name jobset.name "channels-tab") %]