forked from lix-project/hydra
Cleanup
This commit is contained in:
parent
db2b2b6134
commit
30e2b9046a
|
@ -362,12 +362,8 @@ sub evals : Chained('jobset') PathPart('evals') Args(0) {
|
||||||
# Redirect to the latest finished evaluation of this jobset.
|
# Redirect to the latest finished evaluation of this jobset.
|
||||||
sub latest_eval : Chained('jobset') PathPart('latest-eval') {
|
sub latest_eval : Chained('jobset') PathPart('latest-eval') {
|
||||||
my ($self, $c, @args) = @_;
|
my ($self, $c, @args) = @_;
|
||||||
my ($eval) = $c->stash->{jobset}->jobsetevals->search(
|
my $eval = getLatestFinishedEval($c, $c->stash->{jobset})
|
||||||
{ hasnewbuilds => 1 },
|
or notFound($c, "No evaluation found.");
|
||||||
{ order_by => "id DESC", rows => 1
|
|
||||||
, where => \ "not exists (select 1 from JobsetEvalMembers m join Builds b on m.build = b.id where m.eval = me.id and b.finished = 0)"
|
|
||||||
});
|
|
||||||
notFound($c, "No evaluation found.") unless defined $eval;
|
|
||||||
my $uri = $c->uri_for($c->controller('JobsetEval')->action_for("view"), [$eval->id]);
|
my $uri = $c->uri_for($c->controller('JobsetEval')->action_for("view"), [$eval->id]);
|
||||||
$uri .= "/" . join("/", @args) if scalar @args > 0;
|
$uri .= "/" . join("/", @args) if scalar @args > 0;
|
||||||
$c->res->redirect($uri);
|
$c->res->redirect($uri);
|
||||||
|
|
|
@ -38,11 +38,7 @@ sub view : Chained('eval') PathPart('') Args(0) {
|
||||||
} elsif (defined $compare && $compare =~ /^($jobNameRE)$/) {
|
} elsif (defined $compare && $compare =~ /^($jobNameRE)$/) {
|
||||||
my $j = $c->stash->{project}->jobsets->find({name => $compare})
|
my $j = $c->stash->{project}->jobsets->find({name => $compare})
|
||||||
or notFound($c, "Jobset $compare doesn't exist.");
|
or notFound($c, "Jobset $compare doesn't exist.");
|
||||||
($eval2) = $j->jobsetevals->search(
|
$eval2 = getLatestFinishedEval($c, $j);
|
||||||
{ hasnewbuilds => 1 },
|
|
||||||
{ order_by => "id DESC", rows => 1
|
|
||||||
, where => \ "not exists (select 1 from JobsetEvalMembers m join Builds b on m.build = b.id where m.eval = me.id and b.finished = 0)"
|
|
||||||
});
|
|
||||||
} else {
|
} else {
|
||||||
($eval2) = $eval->jobset->jobsetevals->search(
|
($eval2) = $eval->jobset->jobsetevals->search(
|
||||||
{ hasnewbuilds => 1, id => { '<', $eval->id } },
|
{ hasnewbuilds => 1, id => { '<', $eval->id } },
|
||||||
|
|
|
@ -12,6 +12,7 @@ our @EXPORT = qw(
|
||||||
error notFound
|
error notFound
|
||||||
requireLogin requireProjectOwner requireAdmin requirePost isAdmin isProjectOwner
|
requireLogin requireProjectOwner requireAdmin requirePost isAdmin isProjectOwner
|
||||||
trim
|
trim
|
||||||
|
getLatestFinishedEval
|
||||||
$pathCompRE $relPathRE $relNameRE $jobNameRE $systemRE
|
$pathCompRE $relPathRE $relNameRE $jobNameRE $systemRE
|
||||||
@buildListColumns
|
@buildListColumns
|
||||||
);
|
);
|
||||||
|
@ -168,6 +169,17 @@ sub trim {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
sub getLatestFinishedEval {
|
||||||
|
my ($c, $jobset) = @_;
|
||||||
|
my ($eval) = $jobset->jobsetevals->search(
|
||||||
|
{ hasnewbuilds => 1 },
|
||||||
|
{ order_by => "id DESC", rows => 1
|
||||||
|
, where => \ "not exists (select 1 from JobsetEvalMembers m join Builds b on m.build = b.id where m.eval = me.id and b.finished = 0)"
|
||||||
|
});
|
||||||
|
return $eval;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
# Security checking of filenames.
|
# Security checking of filenames.
|
||||||
Readonly our $pathCompRE => "(?:[A-Za-z0-9-\+\._][A-Za-z0-9-\+\._]*)";
|
Readonly our $pathCompRE => "(?:[A-Za-z0-9-\+\._][A-Za-z0-9-\+\._]*)";
|
||||||
Readonly our $relPathRE => "(?:$pathCompRE(?:/$pathCompRE)*)";
|
Readonly our $relPathRE => "(?:$pathCompRE(?:/$pathCompRE)*)";
|
||||||
|
|
Loading…
Reference in a new issue