1998-09-16 01:49:26 +04:00
|
|
|
#!/usr/bonsaitools/bin/perl -w
|
|
|
|
# -*- Mode: perl; indent-tabs-mode: nil -*-
|
1998-08-26 10:14:20 +04:00
|
|
|
#
|
|
|
|
# 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): Terry Weissman <terry@mozilla.org>
|
|
|
|
|
1998-09-16 01:49:26 +04:00
|
|
|
use diagnostics;
|
|
|
|
use strict;
|
1998-08-26 10:14:20 +04:00
|
|
|
|
1998-09-16 01:49:26 +04:00
|
|
|
require "CGI.pl";
|
1998-08-26 10:14:20 +04:00
|
|
|
|
1998-09-16 01:49:26 +04:00
|
|
|
# Shut up misguided -w warnings about "used only once":
|
1998-08-26 10:14:20 +04:00
|
|
|
|
1998-09-16 01:49:26 +04:00
|
|
|
use vars @::legal_resolution,
|
|
|
|
@::legal_product,
|
|
|
|
@::legal_bug_status,
|
|
|
|
@::legal_priority,
|
|
|
|
@::legal_resolution,
|
|
|
|
@::legal_platform,
|
|
|
|
@::legal_components,
|
|
|
|
@::legal_versions,
|
|
|
|
@::legal_severity,
|
|
|
|
%::FORM;
|
|
|
|
|
|
|
|
|
|
|
|
if (defined $::FORM{"GoAheadAndLogIn"}) {
|
1998-08-26 10:14:20 +04:00
|
|
|
# We got here from a login page, probably from relogin.cgi. We better
|
|
|
|
# make sure the password is legit.
|
1998-09-16 01:49:26 +04:00
|
|
|
confirm_login();
|
1998-08-26 10:14:20 +04:00
|
|
|
}
|
|
|
|
|
1998-09-16 01:49:26 +04:00
|
|
|
if (!defined $::COOKIE{"DEFAULTQUERY"}) {
|
|
|
|
$::COOKIE{"DEFAULTQUERY"} = Param("defaultquery");
|
1998-08-26 10:14:20 +04:00
|
|
|
}
|
|
|
|
|
1998-09-16 01:49:26 +04:00
|
|
|
if (!defined $::buffer || $::buffer eq "") {
|
|
|
|
$::buffer = $::COOKIE{"DEFAULTQUERY"};
|
1998-08-26 10:14:20 +04:00
|
|
|
}
|
|
|
|
|
1998-09-16 01:49:26 +04:00
|
|
|
my %default;
|
|
|
|
my %type;
|
|
|
|
|
|
|
|
foreach my $name ("bug_status", "resolution", "assigned_to", "rep_platform",
|
|
|
|
"priority", "bug_severity", "product", "reporter", "op_sys",
|
|
|
|
"component", "version") {
|
|
|
|
$default{$name} = "";
|
|
|
|
$type{$name} = 0;
|
1998-08-26 10:14:20 +04:00
|
|
|
}
|
|
|
|
|
1998-09-16 01:49:26 +04:00
|
|
|
|
|
|
|
foreach my $item (split(/\&/, $::buffer)) {
|
|
|
|
my @el = split(/=/, $item);
|
|
|
|
my $name = $el[0];
|
|
|
|
my $value;
|
|
|
|
if ($#el > 0) {
|
|
|
|
$value = url_decode($el[1]);
|
|
|
|
} else {
|
|
|
|
$value = "";
|
|
|
|
}
|
|
|
|
if (defined $default{$name}) {
|
|
|
|
if ($default{$name} ne "") {
|
|
|
|
$default{$name} .= "|$value";
|
|
|
|
$type{$name} = 1;
|
1998-08-26 10:14:20 +04:00
|
|
|
} else {
|
1998-09-16 01:49:26 +04:00
|
|
|
$default{$name} = $value;
|
1998-08-26 10:14:20 +04:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
1998-09-16 01:49:26 +04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
my $namelist = "";
|
1998-08-26 10:14:20 +04:00
|
|
|
|
1998-09-16 01:49:26 +04:00
|
|
|
foreach my $i (sort (keys %::COOKIE)) {
|
|
|
|
if ($i =~ /^QUERY_/) {
|
|
|
|
if ($::COOKIE{$i} ne "") {
|
|
|
|
my $name = substr($i, 6);
|
|
|
|
$namelist .= "<OPTION>$name";
|
1998-08-26 10:14:20 +04:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
1998-09-16 01:49:26 +04:00
|
|
|
print "Set-Cookie: BUGLIST=
|
|
|
|
Content-type: text/html\n\n";
|
|
|
|
|
|
|
|
GetVersionTable();
|
1998-11-16 22:43:50 +03:00
|
|
|
my $who = GeneratePeopleInput("assigned_to", 45, $default{"assigned_to"});
|
|
|
|
my $reporter = GeneratePeopleInput("reporter", 45, $default{"reporter"});
|
1998-08-26 10:14:20 +04:00
|
|
|
|
|
|
|
|
|
|
|
# Muck the "legal product" list so that the default one is always first (and
|
|
|
|
# is therefore visibly selected.
|
|
|
|
|
|
|
|
# Commented out, until we actually have enough products for this to matter.
|
|
|
|
|
1998-09-16 01:49:26 +04:00
|
|
|
# set w [lsearch $legal_product $default{"product"}]
|
1998-08-26 10:14:20 +04:00
|
|
|
# if {$w >= 0} {
|
1998-09-16 01:49:26 +04:00
|
|
|
# set legal_product [concat $default{"product"} [lreplace $legal_product $w $w]]
|
1998-08-26 10:14:20 +04:00
|
|
|
# }
|
|
|
|
|
1998-09-16 01:49:26 +04:00
|
|
|
PutHeader("Bugzilla Query Page", "Query Page");
|
|
|
|
|
|
|
|
push @::legal_resolution, "---"; # Oy, what a hack.
|
1998-08-26 10:14:20 +04:00
|
|
|
|
1998-09-16 01:49:26 +04:00
|
|
|
print "
|
1998-11-16 22:43:50 +03:00
|
|
|
<FORM NAME=\"queryForm\" METHOD=\"GET\" ACTION=\"buglist.cgi\">
|
1998-08-26 10:14:20 +04:00
|
|
|
|
|
|
|
<table>
|
|
|
|
<tr>
|
1998-11-16 22:43:50 +03:00
|
|
|
<th align=\"left\"><A HREF=\"bug_status.html\">Status</a>:</th>
|
|
|
|
<th align=\"left\"><A HREF=\"bug_status.html\">Resolution</a>:</th>
|
|
|
|
<th align=\"left\"><A HREF=\"bug_status.html#rep_platform\">Platform</a>:</th>
|
|
|
|
<th align=\"left\"><A HREF=\"bug_status.html#priority\">Priority</a>:</th>
|
|
|
|
<th align=\"left\"><A HREF=\"bug_status.html#severity\">Severity</a>:</th>
|
1998-08-26 10:14:20 +04:00
|
|
|
</tr>
|
|
|
|
<tr>
|
1998-11-16 22:43:50 +03:00
|
|
|
<td align=\"left\" valign=\"top\">
|
|
|
|
<SELECT NAME=\"bug_status\" MULTIPLE SIZE=\"7\">
|
1998-09-16 01:49:26 +04:00
|
|
|
@{[make_options(\@::legal_bug_status, $default{'bug_status'}, $type{'bug_status'})]}
|
1998-11-16 22:43:50 +03:00
|
|
|
</SELECT><P>
|
1998-08-26 10:14:20 +04:00
|
|
|
</td>
|
1998-11-16 22:43:50 +03:00
|
|
|
<td align=\"left\" valign=\"top\">
|
|
|
|
<SELECT NAME=\"resolution\" MULTIPLE SIZE=\"7\">
|
1998-09-16 01:49:26 +04:00
|
|
|
@{[make_options(\@::legal_resolution, $default{'resolution'}, $type{'resolution'})]}
|
1998-11-16 22:43:50 +03:00
|
|
|
</SELECT><P>
|
1998-08-26 10:14:20 +04:00
|
|
|
</td>
|
1998-11-16 22:43:50 +03:00
|
|
|
<td align=\"left\" valign=\"top\">
|
|
|
|
<SELECT NAME=\"rep_platform\" MULTIPLE SIZE=\"7\">
|
1998-09-16 01:49:26 +04:00
|
|
|
@{[make_options(\@::legal_platform, $default{'rep_platform'}, $type{'rep_platform'})]}
|
1998-11-16 22:43:50 +03:00
|
|
|
</SELECT><P>
|
1998-08-26 10:14:20 +04:00
|
|
|
</td>
|
1998-11-16 22:43:50 +03:00
|
|
|
<td align=\"left\" valign=\"top\">
|
|
|
|
<SELECT NAME=\"priority\" MULTIPLE SIZE=\"7\">
|
1998-09-16 01:49:26 +04:00
|
|
|
@{[make_options(\@::legal_priority, $default{'priority'}, $type{'priority'})]}
|
1998-11-16 22:43:50 +03:00
|
|
|
</SELECT><P>
|
1998-08-26 10:14:20 +04:00
|
|
|
</td>
|
1998-11-16 22:43:50 +03:00
|
|
|
<td align=\"left\" valign=\"top\">
|
|
|
|
<SELECT NAME=\"bug_severity\" MULTIPLE SIZE=\"7\">
|
1998-09-16 01:49:26 +04:00
|
|
|
@{[make_options(\@::legal_severity, $default{'bug_severity'}, $type{'bug_severity'})]}
|
1998-11-16 22:43:50 +03:00
|
|
|
</SELECT><P>
|
1998-08-26 10:14:20 +04:00
|
|
|
</tr>
|
|
|
|
</table>
|
|
|
|
|
|
|
|
<p>
|
|
|
|
<TABLE>
|
1998-11-16 22:43:50 +03:00
|
|
|
<TR>
|
|
|
|
<TD ALIGN=\"RIGHT\">
|
|
|
|
<A HREF=\"bug_status.html#assigned_to\"><B>Assigned To:</B></A>
|
|
|
|
<TD>$who
|
1998-08-26 10:14:20 +04:00
|
|
|
<p>
|
1998-11-16 22:43:50 +03:00
|
|
|
<TR>
|
|
|
|
<TD ALIGN=\"RIGHT\">
|
|
|
|
<A HREF=\"bug_status.html#reporter\"><B>Reporter:</B></A>
|
|
|
|
<TD>$reporter
|
1998-08-26 10:14:20 +04:00
|
|
|
</TABLE>
|
1998-11-16 22:43:50 +03:00
|
|
|
<NOBR>Changed in the last <INPUT NAME=\"changedin\" SIZE=\"2\"> days.</NOBR>
|
1998-08-26 10:14:20 +04:00
|
|
|
|
|
|
|
|
|
|
|
<P>
|
|
|
|
|
|
|
|
<table>
|
|
|
|
<tr>
|
1998-11-16 22:43:50 +03:00
|
|
|
<TH ALIGN=\"LEFT\">Program:</th>
|
|
|
|
<TH ALIGN=\"LEFT\">Version:</th>
|
|
|
|
<TH ALIGN=\"LEFT\">Component:</th>
|
1998-08-26 10:14:20 +04:00
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
|
1998-11-16 22:43:50 +03:00
|
|
|
<td align=\"left\" valign=\"top\">
|
|
|
|
<SELECT NAME=\"product\" MULTIPLE SIZE=\"5\">
|
|
|
|
@{[make_options(\@::legal_product, url_decode($default{'product'}), $type{'product'})]}
|
|
|
|
</SELECT><P>
|
1998-08-26 10:14:20 +04:00
|
|
|
</td>
|
|
|
|
|
1998-11-16 22:43:50 +03:00
|
|
|
<td align=\"left\" valign=\"top\">
|
|
|
|
<SELECT NAME=\"version\" MULTIPLE SIZE=\"5\">
|
1998-09-16 01:49:26 +04:00
|
|
|
@{[make_options(\@::legal_versions, $default{'version'}, $type{'version'})]}
|
1998-11-16 22:43:50 +03:00
|
|
|
</SELECT><P>
|
1998-08-26 10:14:20 +04:00
|
|
|
</td>
|
|
|
|
|
1998-11-16 22:43:50 +03:00
|
|
|
<td align=\"left\" valign=\"top\">
|
|
|
|
<SELECT NAME=\"component\" MULTIPLE SIZE=\"5\">
|
1998-09-16 01:49:26 +04:00
|
|
|
@{[make_options(\@::legal_components, $default{'component'}, $type{'component'})]}
|
1998-11-16 22:43:50 +03:00
|
|
|
</SELECT><P>
|
1998-08-26 10:14:20 +04:00
|
|
|
</td>
|
|
|
|
|
|
|
|
</tr>
|
|
|
|
</table>
|
|
|
|
|
1998-11-16 22:43:50 +03:00
|
|
|
<table border=\"0\">
|
1998-08-27 21:22:23 +04:00
|
|
|
<tr>
|
1998-11-16 22:43:50 +03:00
|
|
|
<td align=\"right\">Summary:</td>
|
|
|
|
<td><input name=\"short_desc\" size=\"30\"></td>
|
|
|
|
<td><input type=\"radio\" name=\"short_desc_type\" value=\"substr\" checked>Substring</td>
|
|
|
|
<td><input type=\"radio\" name=\"short_desc_type\" value=\"regexp\">Regexp</td>
|
1998-08-27 21:22:23 +04:00
|
|
|
</tr>
|
|
|
|
<tr>
|
1998-11-16 22:43:50 +03:00
|
|
|
<td align=\"right\">Description:</td>
|
|
|
|
<td><input name=\"long_desc\" size=\"30\"></td>
|
|
|
|
<td><input type=\"radio\" name=\"long_desc_type\" value=\"substr\" checked>Substring</td>
|
|
|
|
<td><input type=\"radio\" name=\"long_desc_type\" value=\"regexp\">Regexp</td>
|
1998-08-27 21:22:23 +04:00
|
|
|
</tr>
|
|
|
|
</table>
|
1998-08-26 10:14:20 +04:00
|
|
|
<p>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<BR>
|
1998-11-16 22:43:50 +03:00
|
|
|
<INPUT TYPE=\"radio\" NAME=\"cmdtype\" VALUE=\"doit\" CHECKED> Run this query
|
1998-09-16 01:49:26 +04:00
|
|
|
<BR>
|
|
|
|
";
|
1998-08-26 10:14:20 +04:00
|
|
|
|
1998-09-16 01:49:26 +04:00
|
|
|
if ($namelist ne "") {
|
|
|
|
print "
|
1998-11-16 22:43:50 +03:00
|
|
|
<table cellspacing=\"0\" cellpadding=\"0\"><tr>
|
|
|
|
<td><INPUT TYPE=\"radio\" NAME=\"cmdtype\" VALUE=\"editnamed\"> Load the remembered query:</td>
|
|
|
|
<td rowspan=\"3\"><select name=\"namedcmd\">$namelist</select>
|
1998-08-26 10:14:20 +04:00
|
|
|
</tr><tr>
|
1998-11-16 22:43:50 +03:00
|
|
|
<td><INPUT TYPE=\"radio\" NAME=\"cmdtype\" VALUE=\"runnamed\"> Run the remembered query:</td>
|
1998-08-26 10:14:20 +04:00
|
|
|
</tr><tr>
|
1998-11-16 22:43:50 +03:00
|
|
|
<td><INPUT TYPE=\"radio\" NAME=\"cmdtype\" VALUE=\"forgetnamed\"> Forget the remembered query:</td>
|
1998-08-26 10:14:20 +04:00
|
|
|
</tr></table>"
|
|
|
|
}
|
|
|
|
|
1998-09-16 01:49:26 +04:00
|
|
|
print "
|
1998-11-16 22:43:50 +03:00
|
|
|
<INPUT TYPE=\"radio\" NAME=\"cmdtype\" VALUE=\"asdefault\"> Remember this as the default query
|
1998-08-26 10:14:20 +04:00
|
|
|
<BR>
|
1998-11-16 22:43:50 +03:00
|
|
|
<INPUT TYPE=\"radio\" NAME=\"cmdtype\" VALUE=\"asnamed\"> Remember this query, and name it:
|
|
|
|
<INPUT TYPE=\"text\" NAME=\"newqueryname\">
|
1998-08-26 10:14:20 +04:00
|
|
|
<BR>
|
|
|
|
|
|
|
|
<NOBR><B>Sort By:</B>
|
|
|
|
<SELECT NAME=\"order\">
|
|
|
|
<OPTION>Bug Number
|
|
|
|
<OPTION SELECTED>\"Importance\"
|
|
|
|
<OPTION>Assignee
|
|
|
|
</SELECT></NOBR>
|
|
|
|
<INPUT TYPE=\"submit\" VALUE=\"Submit\">
|
|
|
|
<INPUT TYPE=\"reset\" VALUE=\"Reset back to the default query\">
|
1998-11-16 22:43:50 +03:00
|
|
|
<INPUT TYPE=\"hidden\" name=\"form_name\" VALUE=\"query\">
|
1998-08-26 10:14:20 +04:00
|
|
|
<BR>Give me a <A HREF=\"help.html\">clue</A> about how to use this form.
|
|
|
|
</CENTER>
|
|
|
|
</FORM>
|
|
|
|
|
1998-09-16 01:49:26 +04:00
|
|
|
";
|
1998-08-26 10:14:20 +04:00
|
|
|
|
|
|
|
|
1998-09-16 01:49:26 +04:00
|
|
|
if (defined $::COOKIE{"Bugzilla_login"}) {
|
|
|
|
if ($::COOKIE{"Bugzilla_login"} eq Param("maintainer")) {
|
1998-11-16 22:43:50 +03:00
|
|
|
print "<a href=\"editparams.cgi\">Edit Bugzilla operating parameters</a><br>\n";
|
|
|
|
print "<a href=\"editowners.cgi\">Edit Bugzilla component owners</a><br>\n";
|
1998-09-01 08:21:45 +04:00
|
|
|
}
|
1998-11-16 22:43:50 +03:00
|
|
|
print "<a href=\"relogin.cgi\">Log in as someone besides <b>$::COOKIE{'Bugzilla_login'}</b></a><br>\n";
|
1998-08-26 10:14:20 +04:00
|
|
|
}
|
1998-11-16 22:43:50 +03:00
|
|
|
print "<a href=\"changepassword.cgi\">Change your password.</a><br>\n";
|
|
|
|
print "<a href=\"enter_bug.cgi\">Enter a new bug.</a><br>\n";
|
|
|
|
print "<a href=\"reports.cgi\">Bug reports.</a><br>\n";
|
1998-09-16 01:49:26 +04:00
|
|
|
|
|
|
|
|
|
|
|
|
1998-08-26 10:14:20 +04:00
|
|
|
|