diff options
Diffstat (limited to 'Bugzilla')
-rw-r--r-- | Bugzilla/Search.pm | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/Bugzilla/Search.pm b/Bugzilla/Search.pm index 49f32fdf8..00b213d54 100644 --- a/Bugzilla/Search.pm +++ b/Bugzilla/Search.pm @@ -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])?$/; |