summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjustdave%syndicomm.com <>2001-04-08 02:09:27 +0200
committerjustdave%syndicomm.com <>2001-04-08 02:09:27 +0200
commit01242775e0d599f02c26e68286a1360ebb04a714 (patch)
treedb80213851a98ecd4bdcf0e176ebad7813d2c2d5
parentd041005e48ba7a02432b792a4861567d58bd2b2f (diff)
downloadbugzilla-01242775e0d599f02c26e68286a1360ebb04a714.tar.gz
bugzilla-01242775e0d599f02c26e68286a1360ebb04a714.tar.xz
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
-rwxr-xr-xprocessmail16
-rwxr-xr-xuserprefs.cgi18
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{
<tr><td width=320></td>
<td><input type="checkbox" name="email$optionName" VALUE="on" $value>