Closed Bug 5605 Opened 26 years ago Closed 26 years ago

Patch to add 'Add New Component'

Categories

(Bugzilla :: Bugzilla-General, enhancement, P3)

enhancement

Tracking

()

VERIFIED FIXED
Bugzilla old

People

(Reporter: mhamby, Assigned: terry)

Details

I have added the capability to add new components via CGI. The capability makes these changes: Add addcomponent.cgi Add doaddcomponent.cgi Modify editcomponents.cgi (CVS version 1.1) I am including the changes in diff format. I hope that's ok. I apologize if this is not the proper procedure for submitting patches. I browsed www.mozilla.org briefly, but did not have time to fully determine the best means to submit this. :-o The 'editcomponents.cgi' modifications also include the one line modification I submitted in a previous bug concerning the link to 'editowners.cgi'. diff -c orig/addcomponent.cgi new/addcomponent.cgi *** orig/addcomponent.cgi Tue Apr 27 22:19:43 1999 --- new/addcomponent.cgi Tue Apr 27 21:08:50 1999 *************** *** 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 edit the owners.\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 -c orig/doaddcomponent.cgi new/doaddcomponent.cgi *** orig/doaddcomponent.cgi Tue Apr 27 22:19:39 1999 --- new/doaddcomponent.cgi Tue Apr 27 22:29:08 1999 *************** *** 0 **** --- 1,92 ---- + #!/usr/bonzaitools/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"; + + + # Shut up misguided -w warnings about "used only once": + + use vars @::legal_product; + + + 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 = $::FORM{"component"}; + my $product = $::FORM{"product"}; + my $description = $::FORM{"description"}; + my $initialowner = $::FORM{"initialowner"}; + my $initialqacontact = $::FORM{"initialqacontact"}; + + # 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; + } + + # 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 -c orig/editcomponents.cgi new/editcomponents.cgi *** orig/editcomponents.cgi Thu Mar 11 16:48:41 1999 --- new/editcomponents.cgi Tue Apr 27 20:21:30 1999 *************** *** 45,50 **** --- 45,54 ---- 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 "<a href=editowners.cgi>Edit component owners.</a><br>\n"; + print "<hr>"; print "<form method=post action=doeditcomponents.cgi>\n";
Status: NEW → RESOLVED
Closed: 26 years ago
Resolution: --- → FIXED
Thanks! I have tweaked this a big, and checked it in.
Verif feature present.
Status: RESOLVED → VERIFIED
QA Contact: matty
Moving to Bugzilla product
Component: Bugzilla → Bugzilla-General
Product: Webtools → Bugzilla
Target Milestone: --- → Bugzilla old
Version: other → unspecified
QA Contact: matty_is_a_geek → default-qa
You need to log in before you can comment on or make changes to this bug.