summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorterry%mozilla.org <>2000-01-14 07:23:23 +0100
committerterry%mozilla.org <>2000-01-14 07:23:23 +0100
commitae76aeb8cd3e8fc1350e73bd01f5effaaf726d28 (patch)
treede6202712aa97f6acc9c9e9c40ac0404cc735a7c
parent000687a8129f2d52fae8baf2e535db97eebd4c54 (diff)
downloadbugzilla-ae76aeb8cd3e8fc1350e73bd01f5effaaf726d28.tar.gz
bugzilla-ae76aeb8cd3e8fc1350e73bd01f5effaaf726d28.tar.xz
Send one last email notification to people when a bug gets reassigned
away from them or they get removed from the CC list.
-rwxr-xr-xprocess_bug.cgi5
-rwxr-xr-xprocessmail20
2 files changed, 19 insertions, 6 deletions
diff --git a/process_bug.cgi b/process_bug.cgi
index 36bfe71be..c1c7e63a4 100755
--- a/process_bug.cgi
+++ b/process_bug.cgi
@@ -678,6 +678,9 @@ The changes made were:
if ($col eq 'assigned_to' || $col eq 'qa_contact') {
$old = DBID_to_name($old) if $old != 0;
$new = DBID_to_name($new) if $new != 0;
+ $origcclist .= ",$old"; # make sure to send mail to people
+ # if they are going to no longer get
+ # updates about this bug.
}
if ($col eq 'product') {
RemoveVotes($id,
@@ -694,7 +697,7 @@ The changes made were:
print "<TABLE BORDER=1><TD><H2>Changes to bug $id submitted</H2>\n";
SendSQL("unlock tables");
- system("./processmail $id $::FORM{'who'}");
+ system("./processmail", "-forcecc", $origcclist, $id, $::FORM{'who'});
print "<TD><A HREF=\"show_bug.cgi?id=$id\">Back To BUG# $id</A></TABLE>\n";
foreach my $k (keys(%dependencychanged)) {
diff --git a/processmail b/processmail
index eedfb0339..8e0b7c29f 100755
--- a/processmail
+++ b/processmail
@@ -36,6 +36,8 @@ $::lockcount = 0;
my $regenerate = 0;
my $nametoexclude = "";
+my @forcecc;
+
sub Lock {
if ($::lockcount <= 0) {
$::lockcount = 0;
@@ -305,6 +307,7 @@ sub ProcessOneBug {
foreach my $v (split(/,/, "$::bug{'cclist'},$::bug{'voterlist'}")) {
push @combinedcc, $v;
}
+ push (@combinedcc, (@forcecc));
my $cclist = fixaddresses("cc", \@combinedcc);
my $logstr = "Bug $i $verb";
if ($tolist ne "" || $cclist ne "") {
@@ -360,11 +363,6 @@ if (open(FID, "<data/nomail")) {
close FID;
}
-if (($#ARGV < 0) || ($#ARGV > 1)) {
- print "Usage error: processmail {bugid} {nametoexclude}\nOr: processmail regenerate\n";
- exit;
-}
-
# To recreate the shadow database, run "processmail regenerate" .
if ($ARGV[0] eq "regenerate") {
$regenerate = 1;
@@ -383,6 +381,18 @@ if ($ARGV[0] eq "regenerate") {
exit;
}
+if ($ARGV[0] eq "-forcecc") {
+ shift(@ARGV);
+ foreach my $i (split(/,/, shift(@ARGV))) {
+ push(@forcecc, trim($i));
+ }
+}
+
+if (($#ARGV < 0) || ($#ARGV > 1)) {
+ print "Usage error: processmail {bugid} {nametoexclude}\nOr: processmail regenerate\n";
+ exit;
+}
+
if ($#ARGV == 1) {
$nametoexclude = lc($ARGV[1]);
}