Patch by mhamby@logicon.com -- provide a UI for adding new components.

This commit is contained in:
terry%netscape.com 1999-04-28 22:23:04 +00:00
Родитель d6ef985510
Коммит 6bcbcd370e
3 изменённых файлов: 201 добавлений и 0 удалений

Просмотреть файл

@ -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";

Просмотреть файл

@ -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";

Просмотреть файл

@ -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";