diff --git a/webtools/bugzilla/processmail b/webtools/bugzilla/processmail index 6dc3768790de..c4b2755003eb 100755 --- a/webtools/bugzilla/processmail +++ b/webtools/bugzilla/processmail @@ -51,6 +51,7 @@ my %force; @{$force{'Owner'}} = (); @{$force{'Reporter'}} = (); @{$force{'CClist'}} = (); +@{$force{'Voter'}} = (); sub Lock { if ($::lockcount <= 0) { @@ -515,8 +516,11 @@ sub NewProcessOneBug { @ccList = filterEmailGroup('CClist', \@currentEmailAttributes, $values{'cc'}); + @voterlist = filterEmailGroup('Voter', \@currentEmailAttributes, + join(',',@voterlist)); + my @emailList = (@assigned_toList, @reporterList, - @qa_contactList, @ccList); + @qa_contactList, @ccList, @voterlist); # only need one entry per person my @allEmail = (); @@ -823,6 +827,16 @@ sub filterEmailGroup ($$$) { my $matchName = 'email' . $emailGroup . $attribute; + # **** Kludge... quick and dirty fix for 2.12 + # http://bugzilla.mozilla.org/show_bug.cgi?id=73665 + # If this pref is new (it's been added since this user + # last updated their filtering prefs, $userFlags{$matchName} + # will be undefined. This should be considered a match + # so that new prefs will default to 'on' + if (!defined($userFlags{$matchName})) { + $detectedOn = 1; + } + while ((my $flagName, my $flagValue) = each %userFlags) { if ($flagName !~ /$emailGroup/) { diff --git a/webtools/bugzilla/userprefs.cgi b/webtools/bugzilla/userprefs.cgi index 0d890499dbb0..d0b97f33cb2d 100755 --- a/webtools/bugzilla/userprefs.cgi +++ b/webtools/bugzilla/userprefs.cgi @@ -45,7 +45,8 @@ my @emailGroups = ( 'Owner', 'the Bug Owner', 'Reporter', 'the Reporter', 'QAcontact', 'the QA contact', - 'CClist', 'on the CC list' + 'CClist', 'on the CC list', + 'Voter', 'a Voter' ); my @emailFlags = ( @@ -95,8 +96,16 @@ my $defaultEmailFlagString = 'emailCClistResolved~' . 'on~' . 'emailCClistKeywords~' . 'on~' . 'emailCClistCC~' . 'on~' . - 'emailCClistOther~' . 'on' ; + 'emailCClistOther~' . 'on~' . + 'emailVoterRemoveme~' . 'on~' . + 'emailVoterComments~' . 'on~' . + 'emailVoterAttachemnts~' . 'on~' . + 'emailVoterStatus~' . 'on~' . + 'emailVoterResolved~' . 'on~' . + 'emailVoterKeywords~' . 'on~' . + 'emailVoterCC~' . 'on~' . + 'emailVoterOther~' . 'on' ; sub EmitEntry { my ($description, $entry) = (@_); @@ -409,6 +418,11 @@ sub printEmailOption ($$\%) { $value = 'CHECKED'; } + # **** Kludge ... also mark on if the value in $$refCurrentFlags in undef + if (!defined($$refCurrentFlags{"email$optionName"})) { + $value = 'CHECKED'; + } + print qq{