hydra: moves jobsetOverview sub

This commit is contained in:
Rob Vermaas 2010-09-03 09:17:52 +00:00
parent ce34776992
commit 4c63ccb6bc
2 changed files with 15 additions and 18 deletions

View file

@ -6,9 +6,6 @@ use base 'Hydra::Base::Controller::ListBuilds';
use Hydra::Helper::Nix; use Hydra::Helper::Nix;
use Hydra::Helper::CatalystUtils; use Hydra::Helper::CatalystUtils;
our @ISA = qw(Exporter);
our @EXPORT = qw(jobsetOverview);
sub project : Chained('/') PathPart('project') CaptureArgs(1) { sub project : Chained('/') PathPart('project') CaptureArgs(1) {
my ($self, $c, $projectName) = @_; my ($self, $c, $projectName) = @_;
@ -19,20 +16,6 @@ sub project : Chained('/') PathPart('project') CaptureArgs(1) {
} }
sub jobsetOverview {
my ($c, $project) = @_;
return $project->jobsets->search( isProjectOwner($c, $project->name) ? {} : { hidden => 0 },
{ order_by => "name"
, "+select" => [
"(SELECT COUNT(*) FROM Builds AS a NATURAL JOIN BuildSchedulingInfo WHERE me.project = a.project AND me.name = a.jobset AND a.isCurrent = 1 )"
, "(SELECT COUNT(*) FROM Builds AS a NATURAL JOIN BuildResultInfo WHERE me.project = a.project AND me.name = a.jobset AND buildstatus <> 0 AND a.isCurrent = 1 )"
, "(SELECT COUNT(*) FROM Builds AS a NATURAL JOIN BuildResultInfo WHERE me.project = a.project AND me.name = a.jobset AND buildstatus = 0 AND a.isCurrent = 1 )"
, "(SELECT COUNT(*) FROM Builds AS a WHERE me.project = a.project AND me.name = a.jobset AND a.isCurrent = 1 )"
]
, "+as" => ["nrscheduled", "nrfailed", "nrsucceeded", "nrtotal"]
});
}
sub view : Chained('project') PathPart('') Args(0) { sub view : Chained('project') PathPart('') Args(0) {
my ($self, $c) = @_; my ($self, $c) = @_;

View file

@ -5,6 +5,7 @@ use Exporter;
use File::Path; use File::Path;
use File::Basename; use File::Basename;
use Nix; use Nix;
use Hydra::Helper::CatalystUtils;
our @ISA = qw(Exporter); our @ISA = qw(Exporter);
our @EXPORT = qw( our @EXPORT = qw(
@ -13,7 +14,7 @@ our @EXPORT = qw(
registerRoot getGCRootsDir gcRootFor registerRoot getGCRootsDir gcRootFor
getPrimaryBuildsForView getPrimaryBuildsForView
getPrimaryBuildTotal getPrimaryBuildTotal
getViewResult getLatestSuccessfulViewResult ); getViewResult getLatestSuccessfulViewResult jobsetOverview);
sub isValidPath { sub isValidPath {
@ -196,6 +197,19 @@ sub findLastJobForBuilds {
return $thisBuild; return $thisBuild;
} }
sub jobsetOverview {
my ($c, $project) = @_;
return $project->jobsets->search( isProjectOwner($c, $project->name) ? {} : { hidden => 0 },
{ order_by => "name"
, "+select" => [
"(SELECT COUNT(*) FROM Builds AS a NATURAL JOIN BuildSchedulingInfo WHERE me.project = a.project AND me.name = a.jobset AND a.isCurrent = 1 )"
, "(SELECT COUNT(*) FROM Builds AS a NATURAL JOIN BuildResultInfo WHERE me.project = a.project AND me.name = a.jobset AND buildstatus <> 0 AND a.isCurrent = 1 )"
, "(SELECT COUNT(*) FROM Builds AS a NATURAL JOIN BuildResultInfo WHERE me.project = a.project AND me.name = a.jobset AND buildstatus = 0 AND a.isCurrent = 1 )"
, "(SELECT COUNT(*) FROM Builds AS a WHERE me.project = a.project AND me.name = a.jobset AND a.isCurrent = 1 )"
]
, "+as" => ["nrscheduled", "nrfailed", "nrsucceeded", "nrtotal"]
});
}
sub getViewResult { sub getViewResult {
my ($primaryBuild, $jobs) = @_; my ($primaryBuild, $jobs) = @_;