]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
Bug 204903: Enable searches to match NULL aliases, missing qa_contact, and search...
authorbugreport%peshkin.net <>
Thu, 29 Jul 2004 07:46:57 +0000 (07:46 +0000)
committerbugreport%peshkin.net <>
Thu, 29 Jul 2004 07:46:57 +0000 (07:46 +0000)
r=jouni
a=myk

Bugzilla/Search.pm

index 49f32fdf8fbfda9cd486f406160e18c93a99ff77..00b213d5477a80f254ca1d1c7995076881bc618f 100644 (file)
@@ -344,7 +344,7 @@ sub init {
          "^qa_contact," => sub {
              push(@supptables,
                   "LEFT JOIN profiles map_qa_contact ON bugs.qa_contact = map_qa_contact.userid");
-             $f = "map_$f.login_name";
+             $f = "COALESCE(map_$f.login_name,'')";
          },
 
          "^cc,(?:equals|anyexact),(%\\w+%)" => sub {
@@ -399,8 +399,15 @@ sub init {
              }
             push(@supptables, "LEFT JOIN cc cc_$chartseq ON bugs.bug_id = cc_$chartseq.bug_id");
 
-            push(@supptables, "LEFT JOIN profiles map_cc_$chartseq ON cc_$chartseq.who = map_cc_$chartseq.userid");
-            $f = "map_cc_$chartseq.login_name";
+            $ff = $f = "map_cc_$chartseq.login_name";
+            my $ref = $funcsbykey{",$t"};
+            &$ref;
+            push(@supptables, 
+                "LEFT JOIN profiles map_cc_$chartseq " .
+                       "ON (cc_$chartseq.who = map_cc_$chartseq.userid " .
+                           "AND ($term))"
+                );
+            $term = "$f IS NOT NULL";
          },
 
          "^long_?desc,changedby" => sub {
@@ -759,6 +766,12 @@ sub init {
                 push(@wherepart, "$table.dependson = bugs.bug_id");
          },
 
+         "^alias," => sub {
+             $ff = "COALESCE(bugs.alias, '')";
+             my $ref = $funcsbykey{",$t"};
+             &$ref;
+         },
+
          "^owner_idle_time,(greaterthan|lessthan)" => sub {
                 my $table = "idle_" . $chartid;
                 $v =~ /^(\d+)\s*([hHdDwWmMyY])?$/;