Fix and clean up editing project settings
[?]
Oct 3, 2013, 12:05 PM
H66SHOS74FVD2PCJH63MLRMFZQTPNTCGCWQKAZVTZXYCREJDUGOACDependencies
- [2]
NPG7RSJLThe field is actually enabled, not disabled - [3]
OR5SJ42YShow releases in a tab on the project page - [4]
ZRRPBEI4Make jobset deletion consistent with project deletion - [5]
3NO4SUUGShow when a Project's jobsets are disabled - [6]
LPY3EY2BFix showing the project's display name - [7]
UWVMQIAC* Refactoring. - [8]
HQGXL4MXAdd validation for project and jobset names - [9]
LZVO64YGMerge in the first bits of the API work - [10]
LZO3C2KI* Hack around those SQLite timeouts: just retry the transaction. - [11]
GNIEG2GC* Disambiguate jobs by jobset name. I.e. jobs with the same name in - [12]
BHJ62LYE* Allow authorised users to create projects. - [13]
FPK5LF53* Put the project-related actions in a separate controller. Put the - [14]
3PNG7NIBRemove trailing whitespace - [15]
QTFVCDIFadded hide feature for project/jobset - [16]
ODNCGFQ5* Improved the navigation bar: don't include all projects (since that - [17]
JARRBLZDBootstrapify the Hydra forms (except the project and jobset edit pages)
Change contents
- edit in src/lib/Hydra/Controller/Project.pm at line 3
use utf8; - edit in src/lib/Hydra/Controller/Project.pm at line 13
$c->stash->{params}->{name} //= $projectName; - replacement in src/lib/Hydra/Controller/Project.pm at line 15
my $project = $c->model('DB::Projects')->find($projectName, { columns => [$c->stash->{project} = $c->model('DB::Projects')->find($projectName, { columns => [ - edit in src/lib/Hydra/Controller/Project.pm at line 24
"views.name", - replacement in src/lib/Hydra/Controller/Project.pm at line 28
], join => [ 'owner', 'views', 'releases', 'jobsets' ], order_by => { -desc => "releases.timestamp" }, collapse => 1 });], join => [ 'owner', 'releases', 'jobsets' ], order_by => { -desc => "releases.timestamp" }, collapse => 1 }); - replacement in src/lib/Hydra/Controller/Project.pm at line 30
if ($project) {$c->stash->{project} = $project;} else {if ($c->action->name eq "project" and $c->request->method eq "PUT") {$c->stash->{projectName} = $projectName;} else {$self->status_not_found($c,message => "Project $projectName doesn't exist.");$c->detach;}if (!$c->stash->{project} && !($c->action->name eq "project" and $c->request->method eq "PUT")) {$self->status_not_found($c, message => "Project ‘$projectName’ doesn't exist.");$c->detach; - replacement in src/lib/Hydra/Controller/Project.pm at line 49
$self->status_ok($c,entity => $c->stash->{project});$self->status_ok($c, entity => $c->stash->{project}); - edit in src/lib/Hydra/Controller/Project.pm at line 56
error($c, "Cannot rename project `$c->stash->{params}->{oldName}' over existing project `$c->stash->{project}->name") if defined $c->stash->{params}->{oldName}; - replacement in src/lib/Hydra/Controller/Project.pm at line 66
} elsif (defined $c->stash->{params}->{oldName}) {my $project = $c->model('DB::Projects')->find($c->stash->{params}->{oldName});if (defined $project) {requireProjectOwner($c, $project);txn_do($c->model('DB')->schema, sub {updateProject($c, $project);});my $uri = $c->uri_for($self->action_for("project"), [$project->name]);} - replacement in src/lib/Hydra/Controller/Project.pm at line 68
if ($c->req->looks_like_browser) {$c->res->redirect($uri . "#tabs-configuration");} else {$self->status_created($c,location => "$uri",entity => { name => $project->name, uri => "$uri", type => "project" });}} else {$self->status_not_found($c,message => "Project $c->stash->{params}->{oldName} doesn't exist.");}} else {else { - edit in src/lib/Hydra/Controller/Project.pm at line 70
error($c, "Invalid project name: ‘$c->stash->{projectName}’") if $c->stash->{projectName} !~ /^$projectNameRE$/; - replacement in src/lib/Hydra/Controller/Project.pm at line 78
{name => $c->stash->{projectName}, displayname => "", owner => $owner});{ name => ".tmp.$$." . int(rand(100000)), displayname => "", owner => $owner }); - edit in src/lib/Hydra/Controller/Project.pm at line 121
my $newName = trim $c->stash->{params}->{name};my $oldName = trim $c->stash->{project}->name;unless ($oldName eq $newName) {$c->stash->{params}->{oldName} = $oldName;$c->stash->{projectName} = $newName;undef $c->stash->{project};} - edit in src/lib/Hydra/Controller/Project.pm at line 148[3.1272]→[3.1272:1273](∅→∅),[3.1273]→[3.19887:19952](∅→∅),[3.19952]→[3.2232:2233](∅→∅),[3.3661]→[3.2232:2233](∅→∅)
$c->stash->{projectName} = trim $c->stash->{params}->{name}; - replacement in src/lib/Hydra/Controller/Project.pm at line 179
error($c, "Invalid owner: $owner")unless defined $c->model('DB::Users')->find({username => $owner});error($c, "The user name ‘$owner’ does not exist.")unless defined $c->model('DB::Users')->find($owner); - replacement in src/lib/Hydra/Controller/Project.pm at line 183
my $projectName = $c->stash->{projectName} or $project->name;error($c, "Invalid project name: ‘$projectName’") if $projectName !~ /^$projectNameRE$/;my $projectName = $c->stash->{params}->{name};error($c, "Invalid project name ‘$projectName’.") if $projectName !~ /^$projectNameRE$/; - edit in src/lib/Hydra/Controller/Project.pm at line 186
error($c, "Cannot rename project to ‘$projectName’ since that name is already taken.")if $projectName ne $project->name && defined $c->model('DB::Projects')->find($projectName); - replacement in src/lib/Hydra/Controller/Project.pm at line 190
error($c, "Invalid display name: $displayName") if $displayName eq "";error($c, "You must specify a display name.") if $displayName eq "";