From: Frédéric Buclin Date: Wed, 1 Sep 2010 21:12:28 +0000 (+0200) Subject: Bug 592480: Only one person is added to CC list when multiple are specified X-Git-Tag: bugzilla-4.0rc1~81 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e392f4aba33e52c094bfb46fb81ca5cdf293eb27;p=thirdparty%2Fbugzilla.git Bug 592480: Only one person is added to CC list when multiple are specified r=dkl a=LpSolit --- diff --git a/process_bug.cgi b/process_bug.cgi index 3e7f66c970..4f89215596 100755 --- a/process_bug.cgi +++ b/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')) {