Bug 314269: Add email pref to not send mail about dependency changes - Patch by Todd Stansell <tjs@tellme.com> r=joel a=justdave

This commit is contained in:
lpsolit%gmail.com 2005-10-31 23:09:28 +00:00
Родитель c874955d33
Коммит b2e4d87a67
4 изменённых файлов: 28 добавлений и 3 удалений

Просмотреть файл

@ -78,7 +78,7 @@ use base qw(Exporter);
POS_EVENTS POS_EVENTS
EVT_OTHER EVT_ADDED_REMOVED EVT_COMMENT EVT_ATTACHMENT EVT_ATTACHMENT_DATA EVT_OTHER EVT_ADDED_REMOVED EVT_COMMENT EVT_ATTACHMENT EVT_ATTACHMENT_DATA
EVT_PROJ_MANAGEMENT EVT_OPENED_CLOSED EVT_KEYWORD EVT_CC EVT_PROJ_MANAGEMENT EVT_OPENED_CLOSED EVT_KEYWORD EVT_CC EVT_DEPEND_BLOCK
NEG_EVENTS NEG_EVENTS
EVT_UNCONFIRMED EVT_CHANGED_BY_ME EVT_UNCONFIRMED EVT_CHANGED_BY_ME
@ -214,11 +214,12 @@ use constant EVT_PROJ_MANAGEMENT => 5;
use constant EVT_OPENED_CLOSED => 6; use constant EVT_OPENED_CLOSED => 6;
use constant EVT_KEYWORD => 7; use constant EVT_KEYWORD => 7;
use constant EVT_CC => 8; use constant EVT_CC => 8;
use constant EVT_DEPEND_BLOCK => 9;
use constant POS_EVENTS => EVT_OTHER, EVT_ADDED_REMOVED, EVT_COMMENT, use constant POS_EVENTS => EVT_OTHER, EVT_ADDED_REMOVED, EVT_COMMENT,
EVT_ATTACHMENT, EVT_ATTACHMENT_DATA, EVT_ATTACHMENT, EVT_ATTACHMENT_DATA,
EVT_PROJ_MANAGEMENT, EVT_OPENED_CLOSED, EVT_KEYWORD, EVT_PROJ_MANAGEMENT, EVT_OPENED_CLOSED, EVT_KEYWORD,
EVT_CC; EVT_CC, EVT_DEPEND_BLOCK;
use constant EVT_UNCONFIRMED => 50; use constant EVT_UNCONFIRMED => 50;
use constant EVT_CHANGED_BY_ME => 51; use constant EVT_CHANGED_BY_ME => 51;

Просмотреть файл

@ -1085,7 +1085,9 @@ our %names_to_events = (
'Target Milestone' => EVT_PROJ_MANAGEMENT, 'Target Milestone' => EVT_PROJ_MANAGEMENT,
'Attachment description' => EVT_ATTACHMENT_DATA, 'Attachment description' => EVT_ATTACHMENT_DATA,
'Attachment mime type' => EVT_ATTACHMENT_DATA, 'Attachment mime type' => EVT_ATTACHMENT_DATA,
'Attachment is patch' => EVT_ATTACHMENT_DATA); 'Attachment is patch' => EVT_ATTACHMENT_DATA,
'BugsThisDependsOn' => EVT_DEPEND_BLOCK,
'OtherBugsDependingOnThis' => EVT_DEPEND_BLOCK);
# Returns true if the user wants mail for a given bug change. # Returns true if the user wants mail for a given bug change.
# Note: the "+" signs before the constants suppress bareword quoting. # Note: the "+" signs before the constants suppress bareword quoting.

Просмотреть файл

@ -3890,6 +3890,26 @@ if ($dbh->bz_column_info("profiles", "emailflags")) {
$dbh->bz_drop_column("profiles", "emailflags"); $dbh->bz_drop_column("profiles", "emailflags");
} }
# Check for any "new" email settings that wouldn't have been ported over
# during the block above. Since these settings would have otherwise
# fallen under EVT_OTHER, we'll just clone those settings. That way if
# folks have already disabled all of that mail, there won't be any change.
{
my %events = ("Dependency Tree Changes" => EVT_DEPEND_BLOCK);
foreach my $desc (keys %events) {
my $event = $events{$desc};
$sth = $dbh->prepare("SELECT count(*) FROM email_setting WHERE event = $event");
$sth->execute();
if (!($sth->fetchrow_arrayref()->[0])) {
# No settings in the table yet, so we assume that this is the
# first time it's being set.
print "Initializing \"$desc\" email_setting ...\n" unless $silent;
CloneEmailEvent(EVT_OTHER, $event);
}
}
}
sub CloneEmailEvent { sub CloneEmailEvent {
my ($source, $target) = @_; my ($source, $target) = @_;

Просмотреть файл

@ -124,6 +124,8 @@ document.write('<input type="button" value="Disable All Mail" onclick="SetCheckb
description = "The keywords field changes" }, description = "The keywords field changes" },
{ id = constants.EVT_CC, { id = constants.EVT_CC,
description = "The CC field changes" }, description = "The CC field changes" },
{ id = constants.EVT_DEPEND_BLOCK,
description = "The dependency tree changes" },
{ id = constants.EVT_OTHER, { id = constants.EVT_OTHER,
description = "Any field not mentioned above changes" }, description = "Any field not mentioned above changes" },
] %] ] %]