* A quick (non-Web 2.0) interface to manually add builds to a release.
[?]
Oct 23, 2009, 3:57 PM
Z6MDQIGODVE7RXX5U5D64EEC2ZDEZ36Z4ZMPFYIHWBG42IXUDYFQCDependencies
- [2]
TW5ZQX5Z* Move up the build products in the builds page, since they're more - [3]
AS2OXLRM* Editing releases. - [4]
RBNQKATL* Adding persistant releases. A release is a named set of builds. - [5]
KXGOUX7P* Creating releases. - [*]
LBNVQXUB* Build the /build stuff in a separate controller. - [*]
NEWDDAOF* Allow users to change the value of a build's "keep" flag, which - [*]
A52HEFHQ* Allow builds to be restarted (if they failed with a transient error, - [*]
FPK5LF53* Put the project-related actions in a separate controller. Put the - [*]
J5UVLXOK* Start of a basic Catalyst web interface.
Change contents
- edit in src/lib/Hydra/Controller/Build.pm at line 355
$c->res->redirect($c->uri_for($self->action_for("view_build"), $c->req->captures));}sub add_to_release : Chained('build') PathPart('add-to-release') Args(0) {my ($self, $c) = @_;my $build = $c->stash->{build};requireProjectOwner($c, $build->project);my $releaseName = trim $c->request->params->{name};my $release = $build->project->releases->find({name => $releaseName});error($c, "This project has no release named `$releaseName'.") unless $release;error($c, "This build is already a part of release `$releaseName'.")if $release->releasemembers->find({build => $build->id});$release->releasemembers->create({build => $build->id, description => $build->description}); - edit in src/lib/Hydra/Controller/Build.pm at line 378
$c->flash->{buildMsg} = "Build added to project <tt>$releaseName</tt>."; - edit in src/root/build.tt at line 209
[% IF c.user_exists %]<form action="[% c.uri_for('/build' build.id 'add-to-release') %]" method="post"><p>Add to release: <input type="text" class="string" name="name" /><button type="submit"><img src="/static/images/success.gif" />Apply</button></p></form>[% END %] - edit in src/root/edit-release.tt at line 20
<p><em>Note:</em> to add a build to this release, go to the build’sinformation page and click on “Add to release”.</p> - replacement in src/root/edit-release.tt at line 30
<p><button id="delete-release" type="submit"><img src="/static/images/failure.gif" />Delete this release</button></p><p><a id="delete-release" type="submit"><img src="/static/images/failure.gif" />Delete this release</button></p> - edit in src/root/release.tt at line 3
[% PROCESS "product-list.tt" %] - replacement in src/root/release.tt at line 9
<p><em>Released on [% INCLUDE renderDateTime timestamp = release.timestamp %].</em></p><p><em>Released on [% INCLUDE renderDateTime timestamp =release.timestamp %].</em></p>[% IF !release.releasemembers %]<p><em>No builds have been added to this release yet.</em></p>[% ELSE %][% FOREACH m IN release.releasemembers %]<h2><a href="[% c.uri_for('/build' m.build.id) %]">[% HTML.escape(m.description) %]</a></h2>[% INCLUDE renderProductList build=m.build latestRoot=['/view!!!' project.name view.name 'latest' j.job.job] %][% END %] - edit in src/root/release.tt at line 31[3.2546]
[% END %] - edit in src/root/releases.tt at line 7[4.3796]→[4.3796:3823](∅→∅),[4.3823]→[4.5387:5478](∅→∅),[4.5478]→[4.3917:3933](∅→∅),[4.3917]→[4.3917:3933](∅→∅)
[% IF c.user_exists %]<p>[<a href="[% c.uri_for('/project' project.name 'create-release') %]">Create a release</a>]</p>[% END %] - edit in src/root/releases.tt at line 13
<p>This project has made the following releases:</p> - edit in src/root/releases.tt at line 23
[% IF c.user_exists %]<p>[<a href="[% c.uri_for('/project' project.name 'create-release') %]">Create a release</a>]</p>[% END %]