forked from lix-project/hydra
* Refactoring.
This commit is contained in:
parent
3af294f848
commit
3c86b3652c
|
@ -17,7 +17,7 @@ sub build : Chained('/') PathPart CaptureArgs(1) {
|
||||||
notFound($c, "Build with ID $id doesn't exist.")
|
notFound($c, "Build with ID $id doesn't exist.")
|
||||||
if !defined $c->stash->{build};
|
if !defined $c->stash->{build};
|
||||||
|
|
||||||
$c->stash->{curProject} = $c->stash->{build}->project;
|
$c->stash->{project} = $c->stash->{build}->project;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -10,16 +10,10 @@ use Hydra::Helper::CatalystUtils;
|
||||||
sub job : Chained('/') PathPart('job') CaptureArgs(3) {
|
sub job : Chained('/') PathPart('job') CaptureArgs(3) {
|
||||||
my ($self, $c, $projectName, $jobsetName, $jobName) = @_;
|
my ($self, $c, $projectName, $jobsetName, $jobName) = @_;
|
||||||
|
|
||||||
# !!! cut&paste from Project::project.
|
$c->stash->{job} = $c->model('DB::Jobs')->find({project => $projectName, jobset => $jobsetName, name => $jobName})
|
||||||
my $project = $c->model('DB::Projects')->find($projectName)
|
or notFound($c, "Job $projectName:$jobsetName:$jobName doesn't exist.");
|
||||||
or notFound($c, "Project $projectName doesn't exist.");
|
$c->stash->{project} = $c->stash->{job}->project;
|
||||||
|
$c->stash->{jobset} = $c->stash->{job}->jobset;
|
||||||
$c->stash->{curProject} = $project;
|
|
||||||
|
|
||||||
$c->stash->{jobset} = $project->jobsets->find({name => $jobsetName})
|
|
||||||
or notFound($c, "Jobset $jobsetName doesn't exist.");
|
|
||||||
|
|
||||||
$c->stash->{jobName} = $jobName;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -32,10 +26,9 @@ sub index : Chained('job') PathPart('') Args(0) {
|
||||||
# Hydra::Base::Controller::ListBuilds needs this.
|
# Hydra::Base::Controller::ListBuilds needs this.
|
||||||
sub get_builds : Chained('job') PathPart('') CaptureArgs(0) {
|
sub get_builds : Chained('job') PathPart('') CaptureArgs(0) {
|
||||||
my ($self, $c) = @_;
|
my ($self, $c) = @_;
|
||||||
$c->stash->{allBuilds} =
|
$c->stash->{allBuilds} = $c->stash->{job}->builds;
|
||||||
$c->stash->{jobset}->builds->search({job => $c->stash->{jobName}});
|
|
||||||
$c->stash->{channelBaseName} =
|
$c->stash->{channelBaseName} =
|
||||||
$c->stash->{curProject}->name . "-" . $c->stash->{jobset}->name . "-" . $c->stash->{jobName};
|
$c->stash->{project}->name . "-" . $c->stash->{jobset}->name . "-" . $c->stash->{job}->name;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -13,7 +13,7 @@ sub jobset : Chained('/') PathPart('jobset') CaptureArgs(2) {
|
||||||
my $project = $c->model('DB::Projects')->find($projectName)
|
my $project = $c->model('DB::Projects')->find($projectName)
|
||||||
or notFound($c, "Project $projectName doesn't exist.");
|
or notFound($c, "Project $projectName doesn't exist.");
|
||||||
|
|
||||||
$c->stash->{curProject} = $project;
|
$c->stash->{project} = $project;
|
||||||
|
|
||||||
$c->stash->{jobset} = $project->jobsets->find({name => $jobsetName})
|
$c->stash->{jobset} = $project->jobsets->find({name => $jobsetName})
|
||||||
or notFound($c, "Jobset $jobsetName doesn't exist.");
|
or notFound($c, "Jobset $jobsetName doesn't exist.");
|
||||||
|
@ -32,7 +32,7 @@ sub get_builds : Chained('jobset') PathPart('') CaptureArgs(0) {
|
||||||
$c->stash->{allBuilds} =
|
$c->stash->{allBuilds} =
|
||||||
$c->stash->{jobset}->builds;
|
$c->stash->{jobset}->builds;
|
||||||
$c->stash->{channelBaseName} =
|
$c->stash->{channelBaseName} =
|
||||||
$c->stash->{curProject}->name . "-" . $c->stash->{jobset}->name;
|
$c->stash->{project}->name . "-" . $c->stash->{jobset}->name;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -13,7 +13,7 @@ sub project : Chained('/') PathPart('project') CaptureArgs(1) {
|
||||||
my $project = $c->model('DB::Projects')->find($projectName)
|
my $project = $c->model('DB::Projects')->find($projectName)
|
||||||
or notFound($c, "Project $projectName doesn't exist.");
|
or notFound($c, "Project $projectName doesn't exist.");
|
||||||
|
|
||||||
$c->stash->{curProject} = $project;
|
$c->stash->{project} = $project;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -22,14 +22,14 @@ sub view : Chained('project') PathPart('') Args(0) {
|
||||||
|
|
||||||
$c->stash->{template} = 'project.tt';
|
$c->stash->{template} = 'project.tt';
|
||||||
|
|
||||||
getBuildStats($c, scalar $c->stash->{curProject}->builds);
|
getBuildStats($c, scalar $c->stash->{project}->builds);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
sub edit : Chained('project') PathPart Args(0) {
|
sub edit : Chained('project') PathPart Args(0) {
|
||||||
my ($self, $c) = @_;
|
my ($self, $c) = @_;
|
||||||
|
|
||||||
requireProjectOwner($c, $c->stash->{curProject});
|
requireProjectOwner($c, $c->stash->{project});
|
||||||
|
|
||||||
$c->stash->{template} = 'project.tt';
|
$c->stash->{template} = 'project.tt';
|
||||||
$c->stash->{edit} = 1;
|
$c->stash->{edit} = 1;
|
||||||
|
@ -39,12 +39,12 @@ sub edit : Chained('project') PathPart Args(0) {
|
||||||
sub submit : Chained('project') PathPart Args(0) {
|
sub submit : Chained('project') PathPart Args(0) {
|
||||||
my ($self, $c) = @_;
|
my ($self, $c) = @_;
|
||||||
|
|
||||||
requireProjectOwner($c, $c->stash->{curProject});
|
requireProjectOwner($c, $c->stash->{project});
|
||||||
|
|
||||||
error($c, "Request must be POSTed.") if $c->request->method ne "POST";
|
error($c, "Request must be POSTed.") if $c->request->method ne "POST";
|
||||||
|
|
||||||
$c->model('DB')->schema->txn_do(sub {
|
$c->model('DB')->schema->txn_do(sub {
|
||||||
updateProject($c, $c->stash->{curProject});
|
updateProject($c, $c->stash->{project});
|
||||||
});
|
});
|
||||||
|
|
||||||
$c->res->redirect($c->uri_for($self->action_for("view"), $c->req->captures));
|
$c->res->redirect($c->uri_for($self->action_for("view"), $c->req->captures));
|
||||||
|
@ -54,12 +54,12 @@ sub submit : Chained('project') PathPart Args(0) {
|
||||||
sub delete : Chained('project') PathPart Args(0) {
|
sub delete : Chained('project') PathPart Args(0) {
|
||||||
my ($self, $c) = @_;
|
my ($self, $c) = @_;
|
||||||
|
|
||||||
requireProjectOwner($c, $c->stash->{curProject});
|
requireProjectOwner($c, $c->stash->{project});
|
||||||
|
|
||||||
error($c, "Request must be POSTed.") if $c->request->method ne "POST";
|
error($c, "Request must be POSTed.") if $c->request->method ne "POST";
|
||||||
|
|
||||||
$c->model('DB')->schema->txn_do(sub {
|
$c->model('DB')->schema->txn_do(sub {
|
||||||
$c->stash->{curProject}->delete;
|
$c->stash->{project}->delete;
|
||||||
});
|
});
|
||||||
|
|
||||||
$c->res->redirect($c->uri_for("/"));
|
$c->res->redirect($c->uri_for("/"));
|
||||||
|
@ -224,8 +224,8 @@ sub updateProject {
|
||||||
# Hydra::Base::Controller::ListBuilds needs this.
|
# Hydra::Base::Controller::ListBuilds needs this.
|
||||||
sub get_builds : Chained('project') PathPart('') CaptureArgs(0) {
|
sub get_builds : Chained('project') PathPart('') CaptureArgs(0) {
|
||||||
my ($self, $c) = @_;
|
my ($self, $c) = @_;
|
||||||
$c->stash->{allBuilds} = $c->stash->{curProject}->builds;
|
$c->stash->{allBuilds} = $c->stash->{project}->builds;
|
||||||
$c->stash->{channelBaseName} = $c->stash->{curProject}->name;
|
$c->stash->{channelBaseName} = $c->stash->{project}->name;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -68,7 +68,7 @@ sub releasesets :Local {
|
||||||
|
|
||||||
my $project = $c->model('DB::Projects')->find($projectName);
|
my $project = $c->model('DB::Projects')->find($projectName);
|
||||||
notFound($c, "Project $projectName doesn't exist.") if !defined $project;
|
notFound($c, "Project $projectName doesn't exist.") if !defined $project;
|
||||||
$c->stash->{curProject} = $project;
|
$c->stash->{project} = $project;
|
||||||
|
|
||||||
$c->stash->{releaseSets} = [$project->releasesets->all];
|
$c->stash->{releaseSets} = [$project->releasesets->all];
|
||||||
}
|
}
|
||||||
|
@ -79,7 +79,7 @@ sub getReleaseSet {
|
||||||
|
|
||||||
my $project = $c->model('DB::Projects')->find($projectName);
|
my $project = $c->model('DB::Projects')->find($projectName);
|
||||||
die "Project $projectName doesn't exist." if !defined $project;
|
die "Project $projectName doesn't exist." if !defined $project;
|
||||||
$c->stash->{curProject} = $project;
|
$c->stash->{project} = $project;
|
||||||
|
|
||||||
(my $releaseSet) = $c->model('DB::ReleaseSets')->find($projectName, $releaseSetName);
|
(my $releaseSet) = $c->model('DB::ReleaseSets')->find($projectName, $releaseSetName);
|
||||||
die "Release set $releaseSetName doesn't exist." if !defined $releaseSet;
|
die "Release set $releaseSetName doesn't exist." if !defined $releaseSet;
|
||||||
|
@ -175,7 +175,7 @@ sub create_releaseset :Local {
|
||||||
|
|
||||||
my $project = $c->model('DB::Projects')->find($projectName);
|
my $project = $c->model('DB::Projects')->find($projectName);
|
||||||
die "Project $projectName doesn't exist." if !defined $project;
|
die "Project $projectName doesn't exist." if !defined $project;
|
||||||
$c->stash->{curProject} = $project;
|
$c->stash->{project} = $project;
|
||||||
|
|
||||||
requireProjectOwner($c, $project);
|
requireProjectOwner($c, $project);
|
||||||
|
|
||||||
|
|
|
@ -2,9 +2,9 @@
|
||||||
[% PROCESS common.tt %]
|
[% PROCESS common.tt %]
|
||||||
|
|
||||||
<h1>All Builds
|
<h1>All Builds
|
||||||
[% IF jobName %]for Job [% curProject.name %]:[% jobset.name %]:[% jobName %]
|
[% IF job %]for Job [% project.name %]:[% jobset.name %]:[% job.name %]
|
||||||
[% ELSIF jobset %]for Jobset [% curProject.name %]:[% jobset.name %]
|
[% ELSIF jobset %]for Jobset [% project.name %]:[% jobset.name %]
|
||||||
[% ELSIF curProject %] for Project <tt>[% curProject.name %]</tt>[% END %]</h1>
|
[% ELSIF project %] for Project <tt>[% project.name %]</tt>[% END %]</h1>
|
||||||
|
|
||||||
<p>Showing builds [% (page - 1) * resultsPerPage + 1 %] - [% (page - 1) * resultsPerPage + builds.size %]
|
<p>Showing builds [% (page - 1) * resultsPerPage + 1 %] - [% (page - 1) * resultsPerPage + builds.size %]
|
||||||
out of [% totalBuilds %] in order of descending timestamp.</p>
|
out of [% totalBuilds %] in order of descending timestamp.</p>
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
[% WRAPPER layout.tt title=(create ? "New Release Set" : "Release Set ‘$curProject.name:$releaseSet.name’") %]
|
[% WRAPPER layout.tt title=(create ? "New Release Set" : "Release Set ‘$project.name:$releaseSet.name’") %]
|
||||||
[% PROCESS common.tt %]
|
[% PROCESS common.tt %]
|
||||||
[% USE HTML %]
|
[% USE HTML %]
|
||||||
|
|
||||||
<h1>[% IF create %]New Release Set[% ELSE %]Release Set <tt>[% curProject.name %]:[% releaseSet.name %]</tt>[% END %]</h1>
|
<h1>[% IF create %]New Release Set[% ELSE %]Release Set <tt>[% project.name %]:[% releaseSet.name %]</tt>[% END %]</h1>
|
||||||
|
|
||||||
|
|
||||||
[% BLOCK renderJob %]
|
[% BLOCK renderJob %]
|
||||||
|
@ -21,7 +21,7 @@
|
||||||
[% END %]
|
[% END %]
|
||||||
|
|
||||||
|
|
||||||
<form action="[% IF create %][% c.uri_for('/create_releaseset' curProject.name 'submit') %][% ELSE %][% c.uri_for('/releases' curProject.name releaseSet.name 'submit') %][% END %]" method="post">
|
<form action="[% IF create %][% c.uri_for('/create_releaseset' project.name 'submit') %][% ELSE %][% c.uri_for('/releases' project.name releaseSet.name 'submit') %][% END %]" method="post">
|
||||||
|
|
||||||
<table class="layoutTable">
|
<table class="layoutTable">
|
||||||
<tr>
|
<tr>
|
||||||
|
@ -86,7 +86,7 @@
|
||||||
|
|
||||||
[% IF !create %]
|
[% IF !create %]
|
||||||
|
|
||||||
<form action="[% c.uri_for('/releases' curProject.name releaseSet.name 'delete') %]" method="post">
|
<form action="[% c.uri_for('/releases' project.name releaseSet.name 'delete') %]" method="post">
|
||||||
<p><button id="delete-project" type="submit"><img src="/static/images/failure.gif" />Delete this release set</button></p>
|
<p><button id="delete-project" type="submit"><img src="/static/images/failure.gif" />Delete this release set</button></p>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
[% WRAPPER layout.tt title="Job Status" %]
|
[% WRAPPER layout.tt title="Job Status" %]
|
||||||
[% PROCESS common.tt %]
|
[% PROCESS common.tt %]
|
||||||
|
|
||||||
<h1>Job Status[% IF curProject %] of Project <tt>[% curProject.name %]</tt>[% END %]</h1>
|
<h1>Job Status[% IF project %] of Project <tt>[% project.name %]</tt>[% END %]</h1>
|
||||||
|
|
||||||
<p>Below are the latest builds for each job.</p>
|
<p>Below are the latest builds for each job.</p>
|
||||||
|
|
||||||
|
|
|
@ -99,10 +99,10 @@
|
||||||
<li>
|
<li>
|
||||||
<div class="title">Projects</div>
|
<div class="title">Projects</div>
|
||||||
<ul class="submenu">
|
<ul class="submenu">
|
||||||
[% FOREACH project IN projects %]
|
[% FOREACH project_ IN projects %]
|
||||||
<li [% IF curUri == c.uri_for('/project' project.name) %]class="active"[% END %]>
|
<li [% IF curUri == c.uri_for('/project' project_.name) %]class="active"[% END %]>
|
||||||
<div class="title"><a href="[% c.uri_for('/project' project.name) %]">[% HTML.escape(project.displayname) %]</a></div>
|
<div class="title"><a href="[% c.uri_for('/project' project_.name) %]">[% HTML.escape(project_.displayname) %]</a></div>
|
||||||
[% IF curProject.name == project.name %]
|
[% IF project.name == project_.name %]
|
||||||
<ul class="subsubmenu">
|
<ul class="subsubmenu">
|
||||||
[% INCLUDE makeLink uri = c.uri_for('/project' project.name 'jobstatus') title = "Job status" %]
|
[% INCLUDE makeLink uri = c.uri_for('/project' project.name 'jobstatus') title = "Job status" %]
|
||||||
[% INCLUDE makeLink uri = c.uri_for('/project' project.name 'all') title = "All builds" %]
|
[% INCLUDE makeLink uri = c.uri_for('/project' project.name 'all') title = "All builds" %]
|
||||||
|
@ -120,8 +120,6 @@
|
||||||
</ul>
|
</ul>
|
||||||
[% END %]
|
[% END %]
|
||||||
[% END %]
|
[% END %]
|
||||||
|
|
||||||
|
|
||||||
[% INCLUDE makeLink uri = c.uri_for('/project' project.name 'edit') title = "Edit" %]
|
[% INCLUDE makeLink uri = c.uri_for('/project' project.name 'edit') title = "Edit" %]
|
||||||
</ul>
|
</ul>
|
||||||
[% END %]
|
[% END %]
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
[% WRAPPER layout.tt title=(edit ? (create ? "New Project" : "Editing Project ‘$curProject.name’") : "Project ‘$curProject.name’") %]
|
[% WRAPPER layout.tt title=(edit ? (create ? "New Project" : "Editing Project ‘$project.name’") : "Project ‘$project.name’") %]
|
||||||
[% PROCESS common.tt %]
|
[% PROCESS common.tt %]
|
||||||
[% USE HTML %]
|
[% USE HTML %]
|
||||||
|
|
||||||
|
@ -133,14 +133,14 @@
|
||||||
|
|
||||||
|
|
||||||
[% IF edit %]
|
[% IF edit %]
|
||||||
<form action="[% IF create %][% c.uri_for('/create-project/submit') %][% ELSE %][% c.uri_for('/project' curProject.name 'submit') %][% END %]" method="post">
|
<form action="[% IF create %][% c.uri_for('/create-project/submit') %][% ELSE %][% c.uri_for('/project' project.name 'submit') %][% END %]" method="post">
|
||||||
[% END %]
|
[% END %]
|
||||||
|
|
||||||
|
|
||||||
[% IF create %]
|
[% IF create %]
|
||||||
<h1>New Project</h1>
|
<h1>New Project</h1>
|
||||||
[% ELSE %]
|
[% ELSE %]
|
||||||
<h1>Project <tt>[% curProject.name %]</tt></h1>
|
<h1>Project <tt>[% project.name %]</tt></h1>
|
||||||
[% END %]
|
[% END %]
|
||||||
|
|
||||||
|
|
||||||
|
@ -150,25 +150,25 @@
|
||||||
[% IF edit %]
|
[% IF edit %]
|
||||||
<tr>
|
<tr>
|
||||||
<th>Identifier:</th>
|
<th>Identifier:</th>
|
||||||
<td><tt>[% INCLUDE maybeEditString param="name" value=curProject.name %]</tt></td>
|
<td><tt>[% INCLUDE maybeEditString param="name" value=project.name %]</tt></td>
|
||||||
</tr>
|
</tr>
|
||||||
[% END %]
|
[% END %]
|
||||||
<tr>
|
<tr>
|
||||||
<th>Display name:</th>
|
<th>Display name:</th>
|
||||||
<td>[% INCLUDE maybeEditString param="displayname" value=curProject.displayname %]</td>
|
<td>[% INCLUDE maybeEditString param="displayname" value=project.displayname %]</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<th>Description:</th>
|
<th>Description:</th>
|
||||||
<td>[% INCLUDE maybeEditString param="description" value=curProject.description %]</td>
|
<td>[% INCLUDE maybeEditString param="description" value=project.description %]</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<th>Homepage:</th>
|
<th>Homepage:</th>
|
||||||
<td>
|
<td>
|
||||||
[% IF edit %]
|
[% IF edit %]
|
||||||
[% INCLUDE maybeEditString param="homepage" value=curProject.homepage %]
|
[% INCLUDE maybeEditString param="homepage" value=project.homepage %]
|
||||||
[% ELSE %]
|
[% ELSE %]
|
||||||
[% IF curProject.homepage %]
|
[% IF project.homepage %]
|
||||||
<a [% HTML.attributes(href => curProject.homepage) %]>[% HTML.escape(curProject.homepage) %]</a>
|
<a [% HTML.attributes(href => project.homepage) %]>[% HTML.escape(project.homepage) %]</a>
|
||||||
[% ELSE %]
|
[% ELSE %]
|
||||||
<em>(not specified)</em>
|
<em>(not specified)</em>
|
||||||
[% END %]
|
[% END %]
|
||||||
|
@ -177,12 +177,12 @@
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<th>Owner:</th>
|
<th>Owner:</th>
|
||||||
<td><tt>[% INCLUDE maybeEditString param="owner" value=curProject.owner.username edit=(edit && c.check_user_roles('admin')) %]</tt></td>
|
<td><tt>[% INCLUDE maybeEditString param="owner" value=project.owner.username edit=(edit && c.check_user_roles('admin')) %]</tt></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<th>Enabled:</th>
|
<th>Enabled:</th>
|
||||||
<td>
|
<td>
|
||||||
[% INCLUDE renderSelection param="enabled" curValue=curProject.enabled options={"1" = "Yes", "0" = "No"} %]
|
[% INCLUDE renderSelection param="enabled" curValue=project.enabled options={"1" = "Yes", "0" = "No"} %]
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
@ -199,7 +199,7 @@
|
||||||
|
|
||||||
<h2>Jobsets</h2>
|
<h2>Jobsets</h2>
|
||||||
|
|
||||||
[% IF curProject.jobsets && curProject.jobsets.size > 0 || edit %]
|
[% IF project.jobsets && project.jobsets.size > 0 || edit %]
|
||||||
|
|
||||||
[% IF edit %]
|
[% IF edit %]
|
||||||
<p><button type="button" id="add-jobset">Add a new jobset</button></p>
|
<p><button type="button" id="add-jobset">Add a new jobset</button></p>
|
||||||
|
@ -250,7 +250,7 @@
|
||||||
</script>
|
</script>
|
||||||
[% END %]
|
[% END %]
|
||||||
|
|
||||||
[% FOREACH jobset IN curProject.jobsets -%]
|
[% FOREACH jobset IN project.jobsets -%]
|
||||||
[% INCLUDE renderJobset jobset=jobset baseName=jobset.name %]
|
[% INCLUDE renderJobset jobset=jobset baseName=jobset.name %]
|
||||||
[% END -%]
|
[% END -%]
|
||||||
|
|
||||||
|
@ -271,7 +271,7 @@
|
||||||
|
|
||||||
[% IF !create %]
|
[% IF !create %]
|
||||||
|
|
||||||
<form action="[% c.uri_for('/project' curProject.name 'delete') %]" method="post">
|
<form action="[% c.uri_for('/project' project.name 'delete') %]" method="post">
|
||||||
<p><button id="delete-project" type="submit"><img src="/static/images/failure.gif" />Delete this project</button></p>
|
<p><button id="delete-project" type="submit"><img src="/static/images/failure.gif" />Delete this project</button></p>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
|
|
|
@ -5,8 +5,8 @@
|
||||||
<h1>Release Set <tt>[% releaseSet.project.name %]:[% releaseSet.name %]</tt></h1>
|
<h1>Release Set <tt>[% releaseSet.project.name %]:[% releaseSet.name %]</tt></h1>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
[<a href="[% c.uri_for('/releases' curProject.name releaseSet.name "edit") %]">Edit</a>]
|
[<a href="[% c.uri_for('/releases' project.name releaseSet.name "edit") %]">Edit</a>]
|
||||||
[<a href="[% c.uri_for('/release' curProject.name releaseSet.name "latest") %]">Latest</a>]
|
[<a href="[% c.uri_for('/release' project.name releaseSet.name "latest") %]">Latest</a>]
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<table class="tablesorter">
|
<table class="tablesorter">
|
||||||
|
|
|
@ -5,24 +5,24 @@
|
||||||
|
|
||||||
[% IF releaseSets.size > 0 %]
|
[% IF releaseSets.size > 0 %]
|
||||||
|
|
||||||
<p>Project <tt>[% curProject.name %]</tt> has the following release sets:</p>
|
<p>Project <tt>[% project.name %]</tt> has the following release sets:</p>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
[% FOREACH releaseSet IN releaseSets %]
|
[% FOREACH releaseSet IN releaseSets %]
|
||||||
<li>
|
<li>
|
||||||
<a href="[% c.uri_for('/releases' curProject.name releaseSet.name) %]"><tt>[% releaseSet.name %]</tt></a>
|
<a href="[% c.uri_for('/releases' project.name releaseSet.name) %]"><tt>[% releaseSet.name %]</tt></a>
|
||||||
[<a href="[% c.uri_for('/releases' curProject.name releaseSet.name "edit") %]">Edit</a>]
|
[<a href="[% c.uri_for('/releases' project.name releaseSet.name "edit") %]">Edit</a>]
|
||||||
</li>
|
</li>
|
||||||
[% END %]
|
[% END %]
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
[% ELSE %]
|
[% ELSE %]
|
||||||
|
|
||||||
<p>Project <tt>[% curProject.name %]</tt> has no release sets.</p>
|
<p>Project <tt>[% project.name %]</tt> has no release sets.</p>
|
||||||
|
|
||||||
[% END %]
|
[% END %]
|
||||||
|
|
||||||
|
|
||||||
<p>[<a href="[% c.uri_for('/create_releaseset' curProject.name) %]">Create a new release set</a>]</p>
|
<p>[<a href="[% c.uri_for('/create_releaseset' project.name) %]">Create a new release set</a>]</p>
|
||||||
|
|
||||||
[% END %]
|
[% END %]
|
||||||
|
|
Loading…
Reference in a new issue