2009-03-04 17:24:08 +00:00
|
|
|
package Hydra::Controller::Job;
|
|
|
|
|
|
|
|
use strict;
|
|
|
|
use warnings;
|
|
|
|
use base 'Hydra::Base::Controller::ListBuilds';
|
|
|
|
use Hydra::Helper::Nix;
|
|
|
|
use Hydra::Helper::CatalystUtils;
|
|
|
|
|
|
|
|
|
2009-03-12 23:46:17 +00:00
|
|
|
sub job : Chained('/') PathPart('job') CaptureArgs(3) {
|
|
|
|
my ($self, $c, $projectName, $jobsetName, $jobName) = @_;
|
|
|
|
|
|
|
|
# !!! cut&paste from Project::project.
|
|
|
|
my $project = $c->model('DB::Projects')->find($projectName)
|
|
|
|
or notFound($c, "Project $projectName doesn't exist.");
|
|
|
|
|
|
|
|
$c->stash->{curProject} = $project;
|
|
|
|
|
|
|
|
$c->stash->{jobset} = $project->jobsets->find({name => $jobsetName})
|
|
|
|
or notFound($c, "Jobset $jobsetName doesn't exist.");
|
|
|
|
|
2009-03-04 17:24:08 +00:00
|
|
|
$c->stash->{jobName} = $jobName;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
sub index : Chained('job') PathPart('') Args(0) {
|
|
|
|
my ($self, $c) = @_;
|
|
|
|
$c->go($self->action_for("all"));
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
# Hydra::Base::Controller::ListBuilds needs this.
|
|
|
|
sub get_builds : Chained('job') PathPart('') CaptureArgs(0) {
|
|
|
|
my ($self, $c) = @_;
|
|
|
|
$c->stash->{allBuilds} =
|
2009-03-12 23:46:17 +00:00
|
|
|
$c->stash->{jobset}->builds->search({job => $c->stash->{jobName}});
|
2009-03-04 17:24:08 +00:00
|
|
|
$c->stash->{channelBaseName} =
|
|
|
|
$c->stash->{curProject}->name . "-" . $c->stash->{jobName};
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
1;
|