diff --git a/src/lib/Hydra/Controller/Jobset.pm b/src/lib/Hydra/Controller/Jobset.pm index a56af5a8..b9da12ee 100644 --- a/src/lib/Hydra/Controller/Jobset.pm +++ b/src/lib/Hydra/Controller/Jobset.pm @@ -120,7 +120,8 @@ sub jobs_tab : Chained('jobsetChain') PathPart('jobs-tab') Args(0) { { columns => ['id', 'job', 'finished', 'buildstatus'] }); foreach my $b (@builds) { my $jobName = $b->get_column('job'); - $evals->{$eval->id}->{$jobName} = + $evals->{$eval->id}->{timestamp} = $eval->timestamp; + $evals->{$eval->id}->{jobs}->{$jobName} = { id => $b->id, finished => $b->finished, buildstatus => $b->buildstatus }; $jobs{$jobName} = 1; $nrBuilds++; diff --git a/src/root/common.tt b/src/root/common.tt index 1003c8b3..e4fed196 100644 --- a/src/root/common.tt +++ b/src/root/common.tt @@ -2,6 +2,7 @@ USE date; USE String; USE HTML; +USE Math; USE mibs=format("%.2f"); @@ -12,6 +13,22 @@ date.format(timestamp, '%Y-%m-%d %H:%M:%S'); END; +BLOCK renderRelativeDate; + ago = date.now - timestamp; + IF ago >= 0 && ago < 60; THEN; + ago _ 's ago'; + ELSIF ago >= 0 && ago < 60 * 60; THEN; + Math.int(ago / 60) _ 'm ago'; + ELSIF ago >= 0 && ago < 24 * 60 * 60; THEN; + Math.int(ago / (60 * 60)) _ 'h ago'; + ELSIF ago >= 0 && ago < 7 * 24 * 60 * 60; THEN; + Math.int(ago / (24 * 60 * 60)) _ 'd ago'; + ELSE; + date.format(timestamp, '%Y-%m-%d'); + END; +END; + + BLOCK renderProjectName %] [% project %] [% END; diff --git a/src/root/jobset-jobs-tab.tt b/src/root/jobset-jobs-tab.tt index 7c30d061..3c5b0832 100644 --- a/src/root/jobset-jobs-tab.tt +++ b/src/root/jobset-jobs-tab.tt @@ -20,7 +20,7 @@ }); }; - $('#filter-jobs').submit(function() { + $('#filter-jobs').submit(function() { setFilter($('#filter-jobs').serialize()); return false; }); @@ -49,7 +49,7 @@ [% FOREACH eval IN evalIds %]
- [% eval %] + [% INCLUDE renderRelativeDate timestamp=evals.$eval.timestamp %]
[% END %] @@ -59,11 +59,11 @@ [% INCLUDE renderJobName project=project.name jobset=jobset.name job=j %] [% FOREACH eval IN evalIds %] - [% r = evals.$eval.$j; IF r.id %][% INCLUDE renderBuildStatusIcon size=16 build=r %][% END %] + [% r = evals.$eval.jobs.$j; IF r.id %][% INCLUDE renderBuildStatusIcon size=16 build=r %][% END %] [% END %] [% END %] - + [% END %] diff --git a/src/root/static/css/rotated-th.css b/src/root/static/css/rotated-th.css index 8f4784b1..f5e5c113 100644 --- a/src/root/static/css/rotated-th.css +++ b/src/root/static/css/rotated-th.css @@ -9,7 +9,7 @@ td.centered { text-align: center; } -.table-header-rotated th.rotate-45{ +.table-header-rotated th.rotate-45 { height: 80px; width: 40px; min-width: 40px;