summaryrefslogtreecommitdiffstats
path: root/doaddcomponent.cgi
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 /doaddcomponent.cgi
parentbd5f6dc96becf60d0aa407581bdbc58fe0b49261 (diff)
downloadbugzilla-4ea985c2094c8fa36f216f1cbc2b16632248a34b.tar.gz
bugzilla-4ea985c2094c8fa36f216f1cbc2b16632248a34b.tar.xz
Patch by mhamby@logicon.com -- provide a UI for adding new components.
Diffstat (limited to 'doaddcomponent.cgi')
-rwxr-xr-xdoaddcomponent.cgi99
1 files changed, 99 insertions, 0 deletions
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";