From: bugreport%peshkin.net <> Date: Fri, 22 Nov 2002 10:38:18 +0000 (+0000) Subject: Bug 180980 Doing 2 email searches fails when searching for CC list members X-Git-Tag: bugzilla-2.17.2~28 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f97a2e07e995a41196c26ba8ecb77e0d5806f95d;p=thirdparty%2Fbugzilla.git Bug 180980 Doing 2 email searches fails when searching for CC list members Patch by bugreport@peshkin.net r=myk, a=justdave --- diff --git a/Bugzilla/Search.pm b/Bugzilla/Search.pm index 3ac654ccc7..04e7975930 100644 --- a/Bugzilla/Search.pm +++ b/Bugzilla/Search.pm @@ -287,6 +287,7 @@ sub init { } my $chartid; + my $sequence = 0; # $type_id is used by the code that queries for attachment flags. my $type_id = 0; my $f; @@ -312,23 +313,35 @@ sub init { "^cc,(anyexact|substring)" => sub { my $list; $list = $self->ListIDsForEmail($t, $v); + my $chartseq; + $chartseq = $chartid; + if ($chartid eq "") { + $chartseq = "CC$sequence"; + $sequence++; + } if ($list) { - push(@supptables, "LEFT JOIN cc cc_$chartid ON bugs.bug_id = cc_$chartid.bug_id AND cc_$chartid.who IN($list)"); - $term = "cc_$chartid.who IS NOT NULL"; + push(@supptables, "LEFT JOIN cc cc_$chartseq ON bugs.bug_id = cc_$chartseq.bug_id AND cc_$chartseq.who IN($list)"); + $term = "cc_$chartseq.who IS NOT NULL"; } else { - push(@supptables, "LEFT JOIN cc cc_$chartid ON bugs.bug_id = cc_$chartid.bug_id"); + push(@supptables, "LEFT JOIN cc cc_$chartseq ON bugs.bug_id = cc_$chartseq.bug_id"); - push(@supptables, "LEFT JOIN profiles map_cc_$chartid ON cc_$chartid.who = map_cc_$chartid.userid"); - $ff = $f = "map_cc_$chartid.login_name"; + push(@supptables, "LEFT JOIN profiles map_cc_$chartseq ON cc_$chartseq.who = map_cc_$chartseq.userid"); + $ff = $f = "map_cc_$chartseq.login_name"; my $ref = $funcsbykey{",anyexact"}; &$ref; } }, "^cc," => sub { - push(@supptables, "LEFT JOIN cc cc_$chartid ON bugs.bug_id = cc_$chartid.bug_id"); + my $chartseq; + $chartseq = $chartid; + if ($chartid eq "") { + $chartseq = "CC$sequence"; + $sequence++; + } + push(@supptables, "LEFT JOIN cc cc_$chartseq ON bugs.bug_id = cc_$chartseq.bug_id"); - push(@supptables, "LEFT JOIN profiles map_cc_$chartid ON cc_$chartid.who = map_cc_$chartid.userid"); - $f = "map_cc_$chartid.login_name"; + push(@supptables, "LEFT JOIN profiles map_cc_$chartseq ON cc_$chartseq.who = map_cc_$chartseq.userid"); + $f = "map_cc_$chartseq.login_name"; }, "^long_?desc,changedby" => sub {