]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
Added a way to query by bug numbers. Added an "edit this query" link
authorterry%mozilla.org <>
Tue, 25 Jan 2000 10:50:35 +0000 (10:50 +0000)
committerterry%mozilla.org <>
Tue, 25 Jan 2000 10:50:35 +0000 (10:50 +0000)
when you view a buglist.

buglist.cgi
query.cgi

index 1c3fffc6899cdb5b5a668c7fcb0148bbb7572c03..f096bd323dfe5d2db052f0fc054fd1894e944ef3 100755 (executable)
@@ -297,6 +297,8 @@ query.  You will have to start over at the <A HREF="query.cgi">query page</A>.
     if (!$::FORM{'order'}) {
         $::FORM{'order'} = 'reuse last sort';
     }
+    $::buffer = "bug_id=" . $::FORM{'bug_id'} . "&order=" .
+        url_quote($::FORM{'order'});
 }
 
 if ((defined $::FORM{'emailcc1'} && $::FORM{'emailcc1'}) ||
@@ -311,10 +313,24 @@ if ((defined $::FORM{'emailcc1'} && $::FORM{'emailcc1'}) ||
 my $needlongdescs = 0;          # Whether we need to patch in the longdescs
                                 # table.
 
+
+if ($::MFORM{'bug_id'}) {
+    my @list = grep(!/^$/, split(/[^0-9]+/, join(',', @{$::MFORM{'bug_id'}})));
+    if (@list) {
+        my $verb = "IN";
+        if ($::FORM{'bugidtype'} && $::FORM{'bugidtype'} eq 'exclude') {
+            $verb = "NOT IN";
+        }
+        $query .= " AND bugs.bug_id $verb (" . join(',', @list) . ") ";
+    }
+}
+    
+
+
 if (defined $::FORM{'sql'}) {
   $query .= "and (\n$::FORM{'sql'}\n)"
 } else {
-  my @legal_fields = ("bug_id", "product", "version", "rep_platform", "op_sys",
+  my @legal_fields = ("product", "version", "rep_platform", "op_sys",
                       "bug_status", "resolution", "priority", "bug_severity",
                       "assigned_to", "reporter", "component",
                       "target_milestone", "groupset");
@@ -1055,13 +1071,18 @@ if ($count > 0) {
     print "<FORM METHOD=POST ACTION=\"long_list.cgi\">
 <INPUT TYPE=HIDDEN NAME=buglist VALUE=$buglist>
 <INPUT TYPE=SUBMIT VALUE=\"Long Format\">
-<A HREF=\"query.cgi\">Query Page</A>
-&nbsp;&nbsp;<A HREF=\"enter_bug.cgi\">Enter New Bug</A>
-&nbsp;&nbsp;<A HREF=\"colchange.cgi?$::buffer\">Change columns</A>";
+<NOBR><A HREF=\"query.cgi\">Query Page</A></NOBR>
+&nbsp;&nbsp;
+<NOBR><A HREF=\"enter_bug.cgi\">Enter New Bug</A></NOBR>
+&nbsp;&nbsp;
+<NOBR><A HREF=\"colchange.cgi?$::buffer\">Change columns</A></NOBR>";
     if (!$dotweak && $count > 1) {
-        print "&nbsp;&nbsp;<A HREF=\"buglist.cgi?$fields$orderpart&tweak=1\">";
-        print "Change several bugs at once</A>\n";
+        print "&nbsp;&nbsp;\n";
+        print "<NOBR><A HREF=\"buglist.cgi?$fields$orderpart&tweak=1\">";
+        print "Change several bugs at once</A></NOBR>\n";
     }
+    print qq{&nbsp;&nbsp;\n};
+    print qq{<NOBR><A HREF="query.cgi?$::buffer">Edit this query</A></NOBR>\n};
     print "</FORM>\n";
 }
 PutFooter();
index f7484e0332adb2650fbc85557ca77885ad18f3f7..09ec3b7fe90042fa35bc7c0d3a887e5fa98afefe 100755 (executable)
--- a/query.cgi
+++ b/query.cgi
@@ -136,7 +136,8 @@ sub ProcessFormStuff {
                       "changedin", "votes", "short_desc", "short_desc_type",
                       "long_desc", "long_desc_type", "bug_file_loc",
                       "bug_file_loc_type", "status_whiteboard",
-                      "status_whiteboard_type", "keywords") {
+                      "status_whiteboard_type", "keywords", "bug_id",
+                      "bugidtype") {
         $default{$name} = "";
         $type{$name} = 0;
     }
@@ -489,7 +490,32 @@ print "
 $emailinput1<p>
 </td></tr><tr><td colspan=2>
 $emailinput2<p>
-</td></tr>
+</td></tr>";
+
+my $inclselected = "SELECTED";
+my $exclselected = "";
+
+    
+if ($default{'bugidtype'} eq "exclude") {
+    $inclselected = "";
+    $exclselected = "SELECTED";
+}
+my $bug_id = value_quote($default{'bug_id'}); 
+
+print qq{
+<TR>
+<TD COLSPAN="3">
+<SELECT NAME="bugidtype">
+<OPTION VALUE="include" $inclselected>Only
+<OPTION VALUE="exclude" $exclselected>Exclude
+</SELECT>
+bugs numbered: 
+<INPUT TYPE="text" NAME="bug_id" VALUE="$bug_id" SIZE=30>
+</TD>
+</TR>
+};
+
+print "
 <tr>
 <td>
 Changed in the <NOBR>last <INPUT NAME=changedin SIZE=2 VALUE=\"$default{'changedin'}\"> days.</NOBR>