From 01242775e0d599f02c26e68286a1360ebb04a714 Mon Sep 17 00:00:00 2001 From: "justdave%syndicomm.com" <> Date: Sun, 8 Apr 2001 00:09:27 +0000 Subject: Fix for bug 71808: Can't set email preferences for voters (which caused voters to get OldEmailTech notifications. Patch by jake@acutex.net r= justdave --- processmail | 16 +++++++++++++++- userprefs.cgi | 18 ++++++++++++++++-- 2 files changed, 31 insertions(+), 3 deletions(-) diff --git a/processmail b/processmail index 6dc376879..c4b275500 100755 --- a/processmail +++ b/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/userprefs.cgi b/userprefs.cgi index 0d890499d..d0b97f33c 100755 --- a/userprefs.cgi +++ b/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{ -- cgit v1.2.3-24-g4f1b