From 8f8ab07a31e496fd2b0341ad2a7dc37cdb8dacf5 Mon Sep 17 00:00:00 2001 From: "mkanat%bugzilla.org" Date: Wed, 1 Sep 2010 21:19:16 +0000 Subject: [PATCH] Bug 592480: Only one person is added to CC list when multiple are specified r=dkl a=LpSolit git-svn-id: svn://10.0.0.236/trunk@261160 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/webtools/bugzilla/.bzrrev | 2 +- mozilla/webtools/bugzilla/process_bug.cgi | 22 +++++++++------------- 2 files changed, 10 insertions(+), 14 deletions(-) diff --git a/mozilla/webtools/bugzilla/.bzrrev b/mozilla/webtools/bugzilla/.bzrrev index ca33b86e0f2..e6017a57b2f 100644 --- a/mozilla/webtools/bugzilla/.bzrrev +++ b/mozilla/webtools/bugzilla/.bzrrev @@ -1 +1 @@ -7456 \ No newline at end of file +7457 \ No newline at end of file diff --git a/mozilla/webtools/bugzilla/process_bug.cgi b/mozilla/webtools/bugzilla/process_bug.cgi index 3e7f66c970a..4f89215596d 100755 --- a/mozilla/webtools/bugzilla/process_bug.cgi +++ b/mozilla/webtools/bugzilla/process_bug.cgi @@ -287,37 +287,33 @@ foreach my $dep_field (qw(dependson blocked)) { } } # Formulate the CC data into two arrays of users involved in this CC change. -my (@cc_add, @cc_remove); if (defined $cgi->param('newcc') or defined $cgi->param('addselfcc') or defined $cgi->param('removecc') or defined $cgi->param('masscc')) { - + my (@cc_add, @cc_remove); # If masscc is defined, then we came from buglist and need to either add or # remove cc's... otherwise, we came from show_bug and may need to do both. - my ($cc_add, $cc_remove) = ""; if (defined $cgi->param('masscc')) { if ($cgi->param('ccaction') eq 'add') { - $cc_add = $cgi->param('masscc'); + @cc_add = $cgi->param('masscc'); } elsif ($cgi->param('ccaction') eq 'remove') { - $cc_remove = $cgi->param('masscc'); + @cc_remove = $cgi->param('masscc'); } } else { - $cc_add = $cgi->param('newcc'); - # We came from bug_form which uses a select box to determine what cc's + @cc_add = $cgi->param('newcc'); + push(@cc_add, Bugzilla->user) if $cgi->param('addselfcc'); + + # We came from show_bug which uses a select box to determine what cc's # need to be removed... if ($cgi->param('removecc') && $cgi->param('cc')) { - $cc_remove = join(",", $cgi->param('cc')); + @cc_remove = $cgi->param('cc'); } } - push(@cc_add, split(/[\s,]+/, $cc_add)) if $cc_add; - push(@cc_add, Bugzilla->user) if $cgi->param('addselfcc'); - - push(@cc_remove, split(/[\s,]+/, $cc_remove)) if $cc_remove; + $set_all_fields{cc} = { add => \@cc_add, remove => \@cc_remove }; } -$set_all_fields{cc} = { add => \@cc_add, remove => \@cc_remove }; # Fields that can only be set on one bug at a time. if (defined $cgi->param('id')) {