* Allow builds to be restarted (if they failed with a transient error,
[?]
Mar 2, 2009, 4:03 PM
A52HEFHQNVNF2OUSWDSUYVVXLYR2UFCGOORPCN27CJJYA4UDJA3ACDependencies
- [2]
XHVZXX6N - [3]
OD5FSS5A* Quick hack to allow viewing of dependency graphs (via nix-store -q - [4]
CS7T2XFI - [5]
RU7AQO7U* Role-based access control. Only admins can create projects. Only - [6]
GC4LTHDI* Check the owner. - [7]
EYNG4EL4* Regenerate the bindings from a clean sqlite database. - [8]
G6HJY2V4 - [9]
JLDUSNUO* Unify rendering of finished and scheduled builds. - [10]
UVMFS73T* Some jQuery / CSS hackery. - [11]
5NO7NCKT* Refactoring. - [12]
7LKUAIGC - [13]
2AUODJBT - [14]
YTZOC7C5* Editing of jobset inputs. - [15]
FHF6IZJQ* Basic release management: releases are now dynamically computed as - [16]
DR4F6YUT - [17]
S66BOMVU* Added authentication. - [18]
LBNVQXUB* Build the /build stuff in a separate controller. - [19]
CLJQCY2X* Store info about all the build actions and allow them to be - [20]
2AIIYGI5* Show job status and all builds for a project. - [21]
5IK6NYKF - [22]
BD3GRK4B* Get rid of "positive failures" and separate log phases. - [23]
WHAFVCEI - [24]
IK53RV4V - [*]
J5UVLXOK* Start of a basic Catalyst web interface. - [*]
L2E6EVE2* Merged the Build and Job tables. - [*]
PHX2HIVG* Store info about the build inputs in the build record.
Change contents
- edit in src/Hydra/lib/Hydra/Controller/Build.pm at line 33
$c->stash->{flashMsg} = $c->flash->{afterRestart}; - edit in src/Hydra/lib/Hydra/Controller/Build.pm at line 156
}sub restart : Chained('build') PathPart('restart') Args(0) {my ($self, $c) = @_;my $build = $c->stash->{build};requireProjectOwner($c, $build->project);error($c, "This build cannot be restarted.")unless $build->finished && $build->resultInfo->buildstatus == 3;$c->model('DB')->schema->txn_do(sub {$build->finished(0);$build->timestamp(time());$build->update;$build->resultInfo->delete;$c->model('DB::BuildSchedulingInfo')->create({ id => $build->id, priority => 0 # don't know the original priority anymore..., busy => 0, locker => ""});});$c->flash->{afterRestart} = "Build has been restarted.";$c->response->redirect($c->uri_for($self->action_for("view_build"), $c->req->captures)); - edit in src/Hydra/lib/Hydra/Controller/Root.pm at line 82
}sub requireLogin {my ($c) = @_;$c->flash->{afterLogin} = $c->request->uri;$c->response->redirect($c->uri_for('/login')); - edit in src/Hydra/lib/Hydra/Controller/Root.pm at line 225
return requireLogin($c) if !$c->user_exists; - replacement in src/Hydra/lib/Hydra/Controller/Root.pm at line 226
error($c, "Only the project owner or the administrator can perform this operation.")unless $c->check_user_roles('admin') || $c->user->username eq $project->owner->username;requireProjectOwner($c, $project); - edit in src/Hydra/lib/Hydra/Controller/Root.pm at line 264
return requireLogin($c) if !$c->user_exists; - replacement in src/Hydra/lib/Hydra/Controller/Root.pm at line 265
error($c, "Only the project owner or the administrator can perform this operation.")unless $c->check_user_roles('admin') || $c->user->username eq $project->owner->username;requireProjectOwner($c, $project); - edit in src/Hydra/lib/Hydra/Controller/Root.pm at line 457
return requireLogin($c) if !$c->user_exists; - replacement in src/Hydra/lib/Hydra/Controller/Root.pm at line 458
error($c, "Only the project owner or the administrator can perform this operation.")unless $c->check_user_roles('admin') || $c->user->username eq $project->owner->username;requireProjectOwner($c, $project); - replacement in src/Hydra/lib/Hydra/Controller/Root.pm at line 493
return requireLogin($c) if !$c->user_exists;requireLogin($c) if !$c->user_exists; - edit in src/Hydra/lib/Hydra/Helper/CatalystUtils.pm at line 10
requireLogin requireProjectOwner - replacement in src/Hydra/lib/Hydra/Helper/CatalystUtils.pm at line 25
$c->detach;$c->detach; # doesn't return - edit in src/Hydra/lib/Hydra/Helper/CatalystUtils.pm at line 36
sub requireLogin {my ($c) = @_;$c->flash->{afterLogin} = $c->request->uri;$c->response->redirect($c->uri_for('/login'));$c->detach; # doesn't return}sub requireProjectOwner {my ($c, $project) = @_;requireLogin($c) if !$c->user_exists;error($c, "Only the project owner or the administrator can perform this operation.")unless $c->check_user_roles('admin') || $c->user->username eq $project->owner->username;} - edit in src/Hydra/root/build.tt at line 16[27.5757][28.2182]
[% IF flashMsg %]<p class="error">[% flashMsg %]</p>[% END %] - replacement in src/Hydra/root/build.tt at line 39
<span class="error">Build returned a non-zero exit code</span><span class="error">Build returned a non-zero exit code</span> - edit in src/Hydra/root/build.tt at line 47
<form action="[% c.uri_for('/build' build.id 'restart') %]" method="post" class="inline"><button id="delete-project" type="submit">Restart</button></form> - replacement in src/Hydra/root/static/css/hydra.css at line 439
}[5.3181]}form.inline {display: inline;}