]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
Fix for bug 71808: Can't set email preferences for voters (which caused voters to...
authorjustdave%syndicomm.com <>
Sun, 8 Apr 2001 00:09:27 +0000 (00:09 +0000)
committerjustdave%syndicomm.com <>
Sun, 8 Apr 2001 00:09:27 +0000 (00:09 +0000)
Patch by jake@acutex.net
r= justdave

processmail
userprefs.cgi

index 6dc3768790de6deb346bc0f2eeb0ebf432954f13..c4b2755003eb938d6449a1dd2ae8be951fc2725b 100755 (executable)
@@ -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/) { 
index 0d890499dbb01bc41c3d0210b2cafdbc81180560..d0b97f33cb2ddfad8e99951cc281306d7b16c2a5 100755 (executable)
@@ -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>