*.cgi: allow administration of any does_exist project
authorKyle J. McKay <mackyle@gmail.com>
Wed, 7 Aug 2013 17:34:22 +0000 (7 10:34 -0700)
committerKyle J. McKay <mackyle@gmail.com>
Wed, 7 Aug 2013 17:34:22 +0000 (7 10:34 -0700)
The valid_name check may reject some projects that actually do exist.

Instead allow any project that does_exist to be administered.

cgi/delproj.cgi
cgi/editproj.cgi
cgi/mirrorproj.cgi
cgi/pwproj.cgi
cgi/regproj.cgi

index 3ec8bd2..d4cb44a 100755 (executable)
@@ -21,12 +21,12 @@ unless (defined $name) {
        exit;
 }
 
-if (!Girocco::Project::valid_name($name)) {
+if (!Girocco::Project::does_exist($name,1) && !Girocco::Project::valid_name($name)) {
        print "<p>Invalid project name. Go away, sorcerer.</p>\n";
        exit;
 }
 
-if (!Girocco::Project::does_exist($name)) {
+if (!Girocco::Project::does_exist($name,1)) {
        print "<p>Sorry but this project does not exist. Now, how did you <em>get</em> here?!</p>\n";
        exit;
 }
index ff052ab..a8fbe12 100755 (executable)
@@ -38,12 +38,12 @@ unless (defined $name) {
        exit;
 }
 
-if (!Girocco::Project::valid_name($name)) {
+if (!Girocco::Project::does_exist($name,1) && !Girocco::Project::valid_name($name)) {
        print "<p>Invalid project name. Go away, sorcerer.</p>\n";
        exit;
 }
 
-if (!Girocco::Project::does_exist($name)) {
+if (!Girocco::Project::does_exist($name,1)) {
        print "<p>Sorry but the project $name does not exist. Now, how did you <em>get</em> here?!</p>\n";
        exit;
 }
index 2a164ca..e2b368d 100755 (executable)
@@ -22,12 +22,12 @@ unless (defined $name) {
        exit;
 }
 
-if (!Girocco::Project::valid_name($name)) {
+if (!Girocco::Project::does_exist($name,1) && !Girocco::Project::valid_name($name)) {
        print "<p>Invalid project name. Go away, sorcerer.</p>\n";
        exit;
 }
 
-if (!Girocco::Project::does_exist($name)) {
+if (!Girocco::Project::does_exist($name,1)) {
        print "<p>Sorry but the project $name does not exist. Now, how did you <em>get</em> here?!</p>\n";
        exit;
 }
index f46c9f5..e3cc1a7 100755 (executable)
@@ -28,12 +28,12 @@ unless (defined $name) {
        exit;
 }
 
-if (!Girocco::Project::valid_name($name)) {
+if (!Girocco::Project::does_exist($name,1) && !Girocco::Project::valid_name($name)) {
        print "<p>Invalid project name. Go away, sorcerer.</p>\n";
        exit;
 }
 
-if (!Girocco::Project::does_exist($name)) {
+if (!Girocco::Project::does_exist($name,1)) {
        print "<p>Sorry but this project does not exist. Now, how did you <em>get</em> here?!</p>\n";
        exit;
 }
index 50d9c7c..1f49c57 100755 (executable)
@@ -28,7 +28,7 @@ if ($cgi->param('mode') && $y0 eq 'Register' && $cgi->request_method eq 'POST')
        # submitted, let's see
        # FIXME: racy, do a lock
        Girocco::Project::valid_name($name)
-               and Girocco::Project::does_exist($name)
+               and Girocco::Project::does_exist($name,1)
                and $gcgi->err("Project with the name '$name' already exists.");
        $name =~ /\.git$/
                and $gcgi->err("Project name should not end with <tt>.git</tt> - I'll add that automagically.");