From f97a2e07e995a41196c26ba8ecb77e0d5806f95d Mon Sep 17 00:00:00 2001 From: "bugreport%peshkin.net" <> Date: Fri, 22 Nov 2002 10:38:18 +0000 Subject: Bug 180980 Doing 2 email searches fails when searching for CC list members Patch by bugreport@peshkin.net r=myk, a=justdave --- Bugzilla/Search.pm | 29 +++++++++++++++++++++-------- 1 file changed, 21 insertions(+), 8 deletions(-) (limited to 'Bugzilla') diff --git a/Bugzilla/Search.pm b/Bugzilla/Search.pm index 3ac654ccc..04e797593 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 { -- cgit v1.2.3-24-g4f1b