* Show the latest build for each job.

This commit is contained in:
Eelco Dolstra 2008-10-28 12:44:36 +00:00
parent 7ded8bbd15
commit 9f7403765c
2 changed files with 19 additions and 17 deletions

View file

@ -29,7 +29,10 @@ sub getBuild {
sub index :Path :Args(0) {
my ( $self, $c ) = @_;
$c->stash->{template} = 'index.tt';
$c->stash->{builds} = [$c->model('DB::Builds')->all];
$c->stash->{allBuilds} = [$c->model('DB::Builds')->all];
# Get the latest build for each unique job.
# select * from builds as x where timestamp == (select max(timestamp) from builds where name == x.name);
$c->stash->{latestBuilds} = [$c->model('DB::Builds')->search(undef, {order_by => "name", where => "timestamp == (select max(timestamp) from builds where name == me.name)"})];
}
@ -44,7 +47,7 @@ sub build :Local {
my $build = getBuild($c, $id);
return error($c, "Build with ID $id doesn't exist.") if !defined $build;
$c->stash->{template} = 'build.tt';
$c->stash->{build} = $build;
$c->stash->{id} = $id;

View file

@ -1,24 +1,23 @@
[% WRAPPER layout.tt title="Hydra Overview" %]
[% USE date %]
<h1>All builds</h1>
<h1>Job status</h1>
<table>
<tr><th></th><th>Id</th><th>Attribute name</th><th>Timestamp</th><th>Description</th></tr>
[% FOREACH build IN builds -%]
<tr>
<td>
[% IF build.buildstatus == 0 %]
<img src="static/images/success.gif" />
[% ELSE %]
<img src="static/images/failure.gif" />
[% END %]
</td>
<td><a href="[% c.uri_for('/build' build.id) %]">[% build.id %]</a></td>
<td>[% build.name %]</td>
<td>[% date.format(build.timestamp, '%Y-%m-%d %H:%M:%S') %]</td>
<td>[% build.description %]</td>
</tr>
[% FOREACH build IN latestBuilds -%]
[% INCLUDE "short-build-info.tt" %]
[% END -%]
</table>
<h1>All builds</h1>
<p>Number of builds: [% allBuilds.size %]</p>
<table>
<tr><th></th><th>Id</th><th>Attribute name</th><th>Timestamp</th><th>Description</th></tr>
[% FOREACH build IN allBuilds -%]
[% INCLUDE "short-build-info.tt" %]
[% END -%]
</table>