diff options
Diffstat (limited to 'query.cgi')
-rwxr-xr-x | query.cgi | 242 |
1 files changed, 242 insertions, 0 deletions
diff --git a/query.cgi b/query.cgi new file mode 100755 index 000000000..432620bbe --- /dev/null +++ b/query.cgi @@ -0,0 +1,242 @@ +#! /usr/bonsaitools/bin/mysqltcl +# -*- Mode: tcl; 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): Terry Weissman <terry@mozilla.org> + +source "CGI.tcl" + +if {[catch { + + + +if {[info exists FORM(GoAheadAndLogIn)]} { + # We got here from a login page, probably from relogin.cgi. We better + # make sure the password is legit. + confirm_login +} + + +if {![info exists COOKIE(DEFAULTQUERY)]} { + set COOKIE(DEFAULTQUERY) "bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&product=Communicator&order=%22Importance%22" +} + +if {![info exists buffer] || $buffer == ""} { + set buffer $COOKIE(DEFAULTQUERY) +} + +foreach name {bug_status resolution assigned_to rep_platform priority \ + bug_severity product reporter op_sys component \ + version} { + set default($name) "" + set type($name) 0 +} + +foreach item [split $buffer "&"] { + set el [ split $item = ] + set value [url_decode [lindex $el 1]] + set name [lindex $el 0] + if {[info exists default($name)]} { + if {$default($name) != ""} { + append default($name) "|$value" + set type($name) 1 + } else { + set default($name) $value + } + } +} + +foreach i [lsort [array names COOKIE]] { + switch -glob $i { + QUERY_* { + if {$COOKIE($i) != ""} { + set name [crange $i 6 end] + append namelist "<OPTION>$name" + } + } + } +} + +puts "Set-Cookie: BUGLIST= +Content-type: text/html\n" + +GetVersionTable +set who [GeneratePeopleInput assigned_to $default(assigned_to)] +set reporter [GeneratePeopleInput reporter $default(reporter)] +set qa_assigned_to_who [GeneratePeopleInput qa_assigned_to ""] + + +# 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. + +# set w [lsearch $legal_product $default(product)] +# if {$w >= 0} { +# set legal_product [concat $default(product) [lreplace $legal_product $w $w]] +# } + +PutHeader "Bugzilla Query Page" "Query Page" + +puts " +<FORM NAME=queryForm METHOD=GET ACTION=\"buglist.cgi\"> + +<table> +<tr> +<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> +</tr> +<tr> +<td align=left valign=top> +<SELECT NAME=\"bug_status\" MULTIPLE SIZE=7> +[make_options $legal_bug_status $default(bug_status) $type(bug_status)] +</SELECT> +</td> +<td align=left valign=top> +<SELECT NAME=\"resolution\" MULTIPLE SIZE=7> +[make_options $legal_resolution $default(resolution) $type(resolution)] +</SELECT> +</td> +<td align=left valign=top> +<SELECT NAME=\"rep_platform\" MULTIPLE SIZE=7> +[make_options $legal_platform $default(rep_platform) $type(rep_platform)] +</SELECT> +</td> +<td align=left valign=top> +<SELECT NAME=\"priority\" MULTIPLE SIZE=7> +[make_options $legal_priority $default(priority) $type(priority) ] +</SELECT> +</td> +<td align=left valign=top> +<SELECT NAME=\"bug_severity\" MULTIPLE SIZE=7> +[make_options $legal_severity $default(bug_severity) $type(bug_severity)] +</SELECT> +</tr> +</table> + +<p> +<TABLE> +<TR><TD ALIGN=RIGHT><B><A HREF=\"bug_status.html#assigned_to\">Assigned To:</a></B><TD>$who + +<p> +<TR><TD ALIGN=RIGHT><B>Reporter:</B><TD>$reporter +</TABLE> +<NOBR>Changed in the last <INPUT NAME=changedin SIZE=2> days.</NOBR> + + +<P> + +<table> +<tr> +<TH ALIGN=LEFT>Program:</th> +<TH ALIGN=LEFT>Version:</th> +<TH ALIGN=LEFT>Component:</th> +</tr> +<tr> + +<td align=left valign=top> +<SELECT NAME=\"product\" MULTIPLE SIZE=5> +[make_options $legal_product $default(product) $type(product)] +</SELECT> +</td> + +<td align=left valign=top> +<SELECT NAME=\"version\" MULTIPLE SIZE=5> +[make_options $legal_versions $default(version) $type(version)] +</SELECT> +</td> + +<td align=left valign=top> +<SELECT NAME=\"component\" MULTIPLE SIZE=5> +[make_options $legal_components $default(component) $type(component)] +</SELECT> +</td> + +</tr> +</table> + +<table border=0><tr><td align=right> +<b><A HREF=\"bug_status.html#resolved_ts\">Date Resolved</a>:</b> </td> +<td align=left><INPUT NAME=resolved_ts SIZE=9> (to <INPUT NAME=resolved_ts_2 SIZE=9>, optional)</td> +</tr> +<tr> +<td align=right><b><A HREF=\"bug_status.html#resolved_ts\">Date Verified</a>:</b> </td> +<td align=left><INPUT NAME=verified_ts SIZE=9> (to <INPUT NAME=verified_ts_2 SIZE=9>, optional) +<font size=-1> date format: 24-FEB-98</font> +</td> +</tr> +</table> + +<p> + + + +<BR> +<INPUT TYPE=radio NAME=cmdtype VALUE=doit CHECKED> Run this query +<BR>" + +if {[info exists namelist]} { + puts " +<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> +</tr><tr> +<td><INPUT TYPE=radio NAME=cmdtype VALUE=runnamed> Run the remembered query:</td> +</tr><tr> +<td><INPUT TYPE=radio NAME=cmdtype VALUE=forgetnamed> Forget the remembered query:</td> +</tr></table>" +} + +puts " +<INPUT TYPE=radio NAME=cmdtype VALUE=asdefault> Remember this as the default query +<BR> +<INPUT TYPE=radio NAME=cmdtype VALUE=asnamed> Remember this query, and name it: +<INPUT TYPE=text NAME=newqueryname> +<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\"> +<INPUT TYPE=hidden name=form_name VALUE=query> +<BR>Give me a <A HREF=\"help.html\">clue</A> about how to use this form. +</CENTER> +</FORM> + +" + + +if {[info exists COOKIE(Bugzilla_login)]} { + puts " +<a href=relogin.cgi>Log in as someone besides <b>$COOKIE(Bugzilla_login)</b></a><br> +<a href=changepassword.cgi>Change my password.</a><br>" +} + +puts "<a href=\"enter_bug.cgi\">Create a new bug.</a><br>" + +}]} { + puts "\n\nQuery Page Error\n$errorInfo" + # exec /usr/lib/sendmail -t << "To: terry\n\n$errorInfo\n" +} |