[?]
Nov 27, 2008, 9:08 PM
G6HJY2V4CSSZF6BPIMRMRAJYRKPLTCBUFTJWZWK3BSNT235CZQ6QCDependencies
- [2]
JFZNAYJX* Showing releases. - [3]
RU7AQO7U* Role-based access control. Only admins can create projects. Only - [4]
FHF6IZJQ* Basic release management: releases are now dynamically computed as - [5]
LQ5QEDVV - [6]
2AUODJBT - [*]
J5UVLXOK* Start of a basic Catalyst web interface. - [*]
US27ZTX5* HydraFrontend -> Hydra. - [*]
N22GPKYT* Put info about logs / build products in the DB.
Change contents
- replacement in src/Hydra/lib/Hydra/Controller/Root.pm at line 205
my ($c, $projectName, $releaseName) = @_;my ($c, $projectName, $releaseSetName) = @_; - replacement in src/Hydra/lib/Hydra/Controller/Root.pm at line 211
(my $releaseSet) = $c->model('DB::Releasesets')->find($projectName, $releaseName);die "Release set $releaseName doesn't exist." if !defined $releaseSet;(my $releaseSet) = $c->model('DB::Releasesets')->find($projectName, $releaseSetName);die "Release set $releaseSetName doesn't exist." if !defined $releaseSet; - replacement in src/Hydra/lib/Hydra/Controller/Root.pm at line 216
die "Release set $releaseName doesn't have a primary job." if !defined $primaryJob;die "Release set $releaseSetName doesn't have a primary job." if !defined $primaryJob; - edit in src/Hydra/lib/Hydra/Controller/Root.pm at line 269
sub updateReleaseSet {my ($c, $releaseSet) = @_;my $releaseSetName = trim $c->request->params->{name};die "Invalid release set name: $releaseSetName" unless $releaseSetName =~ /^[[:alpha:]]\w*$/;$releaseSet->name($releaseSetName);$releaseSet->description(trim $c->request->params->{description});$releaseSet->update;} - replacement in src/Hydra/lib/Hydra/Controller/Root.pm at line 282
my ($self, $c, $projectName, $releaseName) = @_;$c->stash->{template} = 'releases.tt';my ($self, $c, $projectName, $releaseSetName, $subcommand) = @_; - replacement in src/Hydra/lib/Hydra/Controller/Root.pm at line 284
my ($project, $releaseSet, $primaryJob) = getReleaseSet($c, $projectName, $releaseName);my ($project, $releaseSet, $primaryJob) = getReleaseSet($c, $projectName, $releaseSetName);if ($subcommand ne "") {return requireLogin($c) if !$c->user_exists;return 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;if ($subcommand eq "edit") {$c->stash->{template} = 'edit-releaseset.tt';return;} - edit in src/Hydra/lib/Hydra/Controller/Root.pm at line 298
elsif ($subcommand eq "submit") {$c->model('DB')->schema->txn_do(sub {updateReleaseSet($c, $releaseSet);});return $c->res->redirect($c->uri_for("/releases", $projectName, $releaseSet->name));}else { return error($c, "Unknown subcommand."); }}$c->stash->{template} = 'releases.tt'; - replacement in src/Hydra/lib/Hydra/Controller/Root.pm at line 324
my ($self, $c, $projectName, $releaseName, $releaseId) = @_;my ($self, $c, $projectName, $releaseSetName, $releaseId) = @_; - replacement in src/Hydra/lib/Hydra/Controller/Root.pm at line 327
my ($project, $releaseSet, $primaryJob) = getReleaseSet($c, $projectName, $releaseName);my ($project, $releaseSet, $primaryJob) = getReleaseSet($c, $projectName, $releaseSetName); - replacement in src/Hydra/lib/Hydra/Controller/Root.pm at line 500
return $c->res->redirect($c->uri_for("/project", trim $c->request->params->{name}));return $c->res->redirect($c->uri_for("/project", $project->name)); - file addition: edit-releaseset.tt[9.857]
[% WRAPPER layout.tt title="Release Sets ‘$curProject.name:$releaseSet.name’" %][% PROCESS common.tt %][% USE HTML %]<h1>Release Set <tt>[% curProject.name %]:[% releaseSet.name %]</tt></h1><form action="[% IF create %][% ELSE %][% c.uri_for('/releases' curProject.name releaseSet.name 'submit') %][% END %]" method="post"><table class="layoutTable"><tr><th>Identifier:</th><td><input type="text" class="string" name="name" [% HTML.attributes(value => releaseSet.name) %] /></td></tr><tr><th>Description:</th><td><input type="text" class="string" name="description" [% HTML.attributes(value => releaseSet.description) %] /></td></tr></table><p><button type="submit"><img src="/static/images/success.gif" />[%IF create %]Create[% ELSE %]Apply changes[% END %]</button></p></form>[% END %] - replacement in src/Hydra/root/releasesets.tt at line 10
<li><a href="[% c.uri_for('/releases' curProject.name releaseSet.name) %]"><tt>[% releaseSet.name %]</tt></a></li><li><a href="[% c.uri_for('/releases' curProject.name releaseSet.name) %]"><tt>[% releaseSet.name %]</tt></a>(<a href="[% c.uri_for('/releases' curProject.name releaseSet.name "edit") %]">edit</a>)</li> - edit in src/hydra.sql at line 331
create trigger cascadeReleaseSetUpdateupdate of name on ReleaseSetsfor each row beginupdate ReleaseSetJobs set release = new.name where project = old.project and release = old.name;end;