summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorterry%netscape.com <>1999-04-29 07:23:04 +0200
committerterry%netscape.com <>1999-04-29 07:23:04 +0200
commit4ea985c2094c8fa36f216f1cbc2b16632248a34b (patch)
tree85ea1cb3d409897aba2624b9877e1713a1304609
parentbd5f6dc96becf60d0aa407581bdbc58fe0b49261 (diff)
downloadbugzilla-4ea985c2094c8fa36f216f1cbc2b16632248a34b.tar.gz
bugzilla-4ea985c2094c8fa36f216f1cbc2b16632248a34b.tar.xz
Patch by mhamby@logicon.com -- provide a UI for adding new components.
-rwxr-xr-xaddcomponent.cgi99
-rwxr-xr-xdoaddcomponent.cgi99
-rwxr-xr-xeditcomponents.cgi3
3 files changed, 201 insertions, 0 deletions
diff --git a/addcomponent.cgi b/addcomponent.cgi
new file mode 100755
index 000000000..5c9ef7d45
--- /dev/null
+++ b/addcomponent.cgi
@@ -0,0 +1,99 @@
+#!/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>
+# Terry Weissman <terry@mozilla.org>
+# Mark Hamby <mhamby@logicon.com>
+
+# Code derived from editcomponents.cgi, reports.cgi
+
+use diagnostics;
+use strict;
+
+require "CGI.pl";
+
+# Shut up misguided -w warnings about "used only once":
+
+use vars @::legal_product;
+
+confirm_login();
+
+print "Content-type: text/html\n\n";
+
+if (!UserInGroup("editcomponents")) {
+ print "<H1>Sorry, you aren't a member of the 'editcomponents' group.</H1>\n";
+ print "And so, you aren't allowed to add a new component.\n";
+ exit;
+}
+
+
+PutHeader("Add Component");
+
+print "This page lets you add a component to bugzilla.\n";
+
+unlink "data/versioncache";
+GetVersionTable();
+
+my $prodcode = "P0";
+
+my $product_popup = make_options (\@::legal_product, $::legal_product[0]);
+
+print "
+ <form method=post action=doaddcomponent.cgi>
+
+ <TABLE>
+ <TR>
+ <th align=right>Component:</th>
+ <TD><input size=60 name=\"component\" value=\"\"></TD>
+ </TR>
+ <TR>
+ <TH align=right>Program:</TH>
+ <TD><SELECT NAME=\"product\">
+ $product_popup
+ </SELECT></TD>
+ </TR>
+ <TR>
+ <TH align=right>Description:</TH>
+ <TD><input size=60 name=\"description\" value=\"\"></TD>
+ </TR>
+ <TR>
+ <TH align=right>Initial owner:</TH>
+ <TD><input size=60 name=\"initialowner\" value=\"\"></TD>
+ </TR>
+ ";
+
+if (Param('useqacontact')) {
+ print "
+ <TR>
+ <TH align=right>Initial QA contact:</TH>
+ <TD><input size=60 name=\"initialqacontact\" value=\"\"></TD>
+ </TR>
+ ";
+}
+
+print "
+ </table>
+ <hr>
+ ";
+
+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/doaddcomponent.cgi b/doaddcomponent.cgi
new file mode 100755
index 000000000..c7856fff1
--- /dev/null
+++ b/doaddcomponent.cgi
@@ -0,0 +1,99 @@
+#!/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>
+# Terry Weissman <terry@mozilla.org>
+# Mark Hamby <mhamby@logicon.com>
+
+# Code derived from doeditcomponents.cgi
+
+
+use diagnostics;
+use strict;
+
+require "CGI.pl";
+
+confirm_login();
+
+print "Content-type: text/html\n\n";
+
+# foreach my $i (sort(keys %::FORM)) {
+# print value_quote("$i $::FORM{$i}") . "<BR>\n";
+# }
+
+if (!UserInGroup("editcomponents")) {
+ print "<H1>Sorry, you aren't a member of the 'editcomponents' group.</H1>\n";
+ print "And so, you aren't allowed to add components.\n";
+ exit;
+}
+
+
+PutHeader("Adding new component");
+
+unlink "data/versioncache";
+GetVersionTable();
+
+my $component = trim($::FORM{"component"});
+my $product = trim($::FORM{"product"});
+my $description = trim($::FORM{"description"});
+my $initialowner = trim($::FORM{"initialowner"});
+my $initialqacontact = trim($::FORM{"initialqacontact"});
+
+if ($component eq "") {
+ print "You must enter a name for the new component. Please press\n";
+ print "<b>Back</b> and try again.\n";
+ exit;
+}
+
+# Check to ensure the component doesn't exist already.
+SendSQL("SELECT value FROM components WHERE " .
+ "program = " . SqlQuote($product) . " and " .
+ "value = " . SqlQuote($component));
+my @row = FetchSQLData();
+if (@row) {
+ print "<H1>Component already exists</H1>";
+ print "The component '$component' already exists\n";
+ print "for product '$product'.<P>\n";
+ print "<p><a href=query.cgi>Go back to the query page</a>\n";
+ exit;
+}
+
+# Check that the email addresses are legitimate.
+foreach my $addr ($initialowner, $initialqacontact) {
+ if ($addr ne "") {
+ DBNameToIdAndCheck($addr);
+ }
+}
+
+# Add the new component.
+SendSQL("INSERT INTO components ( " .
+ "value, program, description, initialowner, initialqacontact" .
+ " ) VALUES ( " .
+ SqlQuote($component) . "," .
+ SqlQuote($product) . "," .
+ SqlQuote($description) . "," .
+ SqlQuote($initialowner) . "," .
+ SqlQuote($initialqacontact) . ")" );
+
+unlink "data/versioncache";
+
+print "OK, done.<p>\n";
+print "<a href=addcomponent.cgi>Edit another new component.</a><p>\n";
+print "<a href=editcomponents.cgi>Edit existing components.</a><p>\n";
+print "<a href=query.cgi>Go back to the query page.</a>\n";
diff --git a/editcomponents.cgi b/editcomponents.cgi
index f1989458c..1de259924 100755
--- a/editcomponents.cgi
+++ b/editcomponents.cgi
@@ -45,6 +45,9 @@ if (!UserInGroup("editcomponents")) {
PutHeader("Edit Components");
print "This lets you edit the program components of bugzilla.\n";
+print "<hr>";
+print "<a href=addcomponent.cgi>Add new component.</a><br>\n";
+print "<hr>";
print "<form method=post action=doeditcomponents.cgi>\n";