Also redirect /job requests that refer to a renamed jobset

[?]
Apr 24, 2014, 9:05 AM
IP5MOFDGXEUW3LUKL6IJULI2OX5KQJ5TIOWJFMTVMVL7VGYCNYMQC

Dependencies

  • [2] 75XUS62Y * Added a page to quickly see all failed builds and failed evaluations
  • [3] DEMSSSB2 * Controller for jobs which inherits all actions in ListBuilds. So
  • [4] GNIEG2GC * Disambiguate jobs by jobset name. I.e. jobs with the same name in
  • [5] ZD5AEKWM * Job status / error pages: show only active jobs.
  • [6] Z4KRJX4Q * In the last succeeded / job status queries, use the Builds.isCurrent
  • [7] UWVMQIAC * Refactoring.

Change contents

  • edit in src/lib/Hydra/Controller/Job.pm at line 12
    [3.118]
    [3.118]
    $c->stash->{jobset} = $c->model('DB::Jobsets')->find({ project => $projectName, name => $jobsetName });
  • replacement in src/lib/Hydra/Controller/Job.pm at line 15
    [3.119][2.631:803]()
    $c->stash->{job_} = $c->model('DB::Jobs')->search({project => $projectName, jobset => $jobsetName, name => $jobName});
    $c->stash->{job} = $c->stash->{job_}->single
    [3.119]
    [3.176]
    if (!$c->stash->{jobset}) {
    my $rename = $c->model('DB::JobsetRenames')->find({ project => $projectName, from_ => $jobsetName });
    notFound($c, "Jobset ‘$jobsetName’ doesn't exist.") unless defined $rename;
    # Return a permanent redirect to the new jobset name.
    my @captures = @{$c->req->captures};
    $captures[1] = $rename->to_;
    $c->res->redirect($c->uri_for($c->action, \@captures, $c->req->params), 301);
    $c->detach;
    }
    $c->stash->{job} = $c->stash->{jobset}->jobs->find({ name => $jobName })
  • edit in src/lib/Hydra/Controller/Job.pm at line 29
    [3.311][3.311:363]()
    $c->stash->{jobset} = $c->stash->{job}->jobset;