summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorterry%netscape.com <>1998-09-30 09:05:24 +0200
committerterry%netscape.com <>1998-09-30 09:05:24 +0200
commit798044275be99053ebf51ca146ce6426b9f5cb80 (patch)
tree13e7c31f25d1bd0823114a045832bd8d7b3a9332
parent0738603c1f499211b0bf4b0646eb2dd4ae1a30fe (diff)
downloadbugzilla-798044275be99053ebf51ca146ce6426b9f5cb80.tar.gz
bugzilla-798044275be99053ebf51ca146ce6426b9f5cb80.tar.xz
Added admin page for changing of default owners (code by Sam Ziegler <sam@ziegler.org>)
-rwxr-xr-xdoeditowners.cgi72
-rwxr-xr-xeditowners.cgi72
-rwxr-xr-xquery.cgi1
3 files changed, 145 insertions, 0 deletions
diff --git a/doeditowners.cgi b/doeditowners.cgi
new file mode 100755
index 000000000..b09d7298b
--- /dev/null
+++ b/doeditowners.cgi
@@ -0,0 +1,72 @@
+#!/usr/bonsaitools/bin/perl -w
+# -*- Mode: perl; indent-tabs-mode: nil -*-
+#
+# The contents of this file are subject to the Mozilla Public License
+# Version 1.0 (the "License"); you may not use this file except in
+# compliance with the License. You may obtain a copy of the License at
+# http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS IS"
+# basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
+# License for the specific language governing rights and limitations
+# under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Netscape Communications
+# Corporation. Portions created by Netscape are Copyright (C) 1998
+# Netscape Communications Corporation. All Rights Reserved.
+#
+# Contributor(s): Sam Ziegler <sam@ziegler.org>
+
+use diagnostics;
+use strict;
+
+require "CGI.pl";
+
+# Shut up misguided -w warnings about "used only once":
+use vars %::COOKIE;
+
+
+confirm_login();
+
+print "Content-type: text/html\n\n";
+
+if (Param("maintainer") ne $::COOKIE{'Bugzilla_login'}) {
+ print "<H1>Sorry, you aren't the maintainer of this system.</H1>\n";
+ print "And so, you aren't allowed to edit the parameters of it.\n";
+ exit;
+}
+
+
+PutHeader("Saving new owners");
+
+SendSQL("select program, value, initialowner from components order by program, value");
+
+my @line;
+
+foreach my $key (keys(%::FORM)) {
+ $::FORM{url_decode($key)} = $::FORM{$key};
+}
+
+my @updates;
+my $curIndex = 0;
+
+while (@line = FetchSQLData()) {
+ my $curItem = "$line[0]_$line[1]";
+ if (exists $::FORM{$curItem}) {
+ $::FORM{$curItem} =~ s/\r\n/\n/;
+ if ($::FORM{$curItem} ne $line[2]) {
+ print "$line[0] : $line[1] is now owned by $::FORM{$curItem}.<BR>\n";
+ $updates[$curIndex++] = "update components set initialowner = '$::FORM{$curItem}' where program = '$line[0]' and value = '$line[1]'";
+ }
+ }
+}
+
+foreach my $update (@updates) {
+ SendSQL($update);
+}
+
+print "OK, done.<p>\n";
+print "<a href=editowners.cgi>Edit the owners some more.</a><p>\n";
+print "<a href=query.cgi>Go back to the query page.</a>\n";
diff --git a/editowners.cgi b/editowners.cgi
new file mode 100755
index 000000000..1bfb6ac13
--- /dev/null
+++ b/editowners.cgi
@@ -0,0 +1,72 @@
+#!/usr/bonsaitools/bin/perl -w
+# -*- Mode: perl; indent-tabs-mode: nil -*-
+#
+# The contents of this file are subject to the Mozilla Public License
+# Version 1.0 (the "License"); you may not use this file except in
+# compliance with the License. You may obtain a copy of the License at
+# http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS IS"
+# basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
+# License for the specific language governing rights and limitations
+# under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Netscape Communications
+# Corporation. Portions created by Netscape are Copyright (C) 1998
+# Netscape Communications Corporation. All Rights Reserved.
+#
+# Contributor(s): Sam Ziegler <sam@ziegler.org>
+
+# Code derived from editparams.cgi
+
+use diagnostics;
+use strict;
+
+require "CGI.pl";
+
+# Shut up misguided -w warnings about "used only once":
+use vars %::COOKIE;
+
+confirm_login();
+
+print "Content-type: text/html\n\n";
+
+if (Param("maintainer") ne $::COOKIE{Bugzilla_login}) {
+ print "<H1>Sorry, you aren't the maintainer of this system.</H1>\n";
+ print "And so, you aren't allowed to edit the parameters of it.\n";
+ exit;
+}
+
+
+PutHeader("Edit Component Owners");
+
+print "This lets you edit the owners of the program components of bugzilla.\n";
+
+print "<form method=post action=doeditowners.cgi><table>\n";
+
+my $rowbreak = "<tr><td colspan=2><hr></td></tr>";
+
+SendSQL("select program, value, initialowner from components order by program, value");
+
+my @line;
+my $curProgram = "";
+
+while (@line = FetchSQLData()) {
+ if ($line[0] ne $curProgram) {
+ print $rowbreak;
+ print "<tr><th align=right valign=top>$line[0]:</th><td></td></tr>\n";
+ $curProgram = $line[0];
+ }
+ print "<tr><td valign = top>$line[1]</td><td><input size=80 ";
+ print "name=\"$line[0]_$line[1]\" value=\"$line[2]\"></td></tr>\n";
+}
+
+print "</table>\n";
+
+print "<input type=submit value=\"Submit changes\">\n";
+
+print "</form>\n";
+
+print "<p><a href=query.cgi>Skip all this, and go back to the query page</a>\n";
diff --git a/query.cgi b/query.cgi
index a8efd1fed..5afafeaf4 100755
--- a/query.cgi
+++ b/query.cgi
@@ -260,6 +260,7 @@ print "
if (defined $::COOKIE{"Bugzilla_login"}) {
if ($::COOKIE{"Bugzilla_login"} eq Param("maintainer")) {
print "<a href=editparams.cgi>Edit Bugzilla operating parameters</a><br>\n";
+ print "<a href=editowners.cgi>Edit Bugzilla component owners</a><br>\n";
}
print "<a href=relogin.cgi>Log in as someone besides <b>$::COOKIE{'Bugzilla_login'}</b></a><br>\n";
}