]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
Patch by mhamby@logicon.com -- provide a UI for adding new components.
authorterry%netscape.com <>
Thu, 29 Apr 1999 05:23:04 +0000 (05:23 +0000)
committerterry%netscape.com <>
Thu, 29 Apr 1999 05:23:04 +0000 (05:23 +0000)
addcomponent.cgi [new file with mode: 0755]
doaddcomponent.cgi [new file with mode: 0755]
editcomponents.cgi

diff --git a/addcomponent.cgi b/addcomponent.cgi
new file mode 100755 (executable)
index 0000000..5c9ef7d
--- /dev/null
@@ -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 (executable)
index 0000000..c7856ff
--- /dev/null
@@ -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";
index f1989458cdab2d2ec3ca0ca58183ae2059dcbe74..1de25992495648e0f41994b6453755e9a7ebe2d5 100755 (executable)
@@ -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";