Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
bugzilla
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
etersoft
bugzilla
Commits
410641cc
Commit
410641cc
authored
Nov 14, 2006
by
olav%bkor.dhs.org
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Bug 277370: Ability to specify an email address to which notification about all bugs should go
Patch by Guillaume Rousse <guillomovitch@zarb.org> r=bkor a=myk
parent
f1c83b41
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
59 additions
and
10 deletions
+59
-10
BugMail.pm
Bugzilla/BugMail.pm
+15
-6
MTA.pm
Bugzilla/Config/MTA.pm
+7
-1
Constants.pm
Bugzilla/Constants.pm
+3
-2
User.pm
Bugzilla/User.pm
+3
-0
administration.xml
docs/xml/administration.xml
+15
-0
editparams.cgi
editparams.cgi
+10
-0
mta.html.tmpl
template/en/default/admin/params/mta.html.tmpl
+4
-1
newchangedmail.txt.tmpl
template/en/default/email/newchangedmail.txt.tmpl
+2
-0
No files found.
Bugzilla/BugMail.pm
View file @
410641cc
...
...
@@ -50,11 +50,12 @@ use constant BIT_WATCHING => 2;
# We need these strings for the X-Bugzilla-Reasons header
# Note: this hash uses "," rather than "=>" to avoid auto-quoting of the LHS.
use
constant
REL_NAMES
=>
{
REL_ASSIGNEE
,
"AssignedTo"
,
REL_REPORTER
,
"Reporter"
,
REL_QA
,
"QAcontact"
,
REL_CC
,
"CC"
,
REL_VOTER
,
"Voter"
REL_ASSIGNEE
,
"AssignedTo"
,
REL_REPORTER
,
"Reporter"
,
REL_QA
,
"QAcontact"
,
REL_CC
,
"CC"
,
REL_VOTER
,
"Voter"
,
REL_GLOBAL_WATCHER
,
"GlobalWatcher"
};
sub
FormatTriple
{
...
...
@@ -392,7 +393,15 @@ sub Send {
push
(
@
{
$watching
{
$watch
->
[
0
]}},
$watch
->
[
1
]);
}
}
# Global watcher
my
@watchers
=
split
(
/[,\s]+/
,
Bugzilla
->
params
->
{
'globalwatchers'
});
foreach
(
@watchers
)
{
my
$watcher_id
=
login_to_id
(
$_
);
next
unless
$watcher_id
;
$recipients
{
$watcher_id
}
->
{
+
REL_GLOBAL_WATCHER
}
=
BIT_DIRECT
;
}
# We now have a complete set of all the users, and their relationships to
# the bug in question. However, we are not necessarily going to mail them
# all - there are preferences, permissions checks and all sorts to do yet.
...
...
Bugzilla/Config/MTA.pm
View file @
410641cc
...
...
@@ -72,7 +72,13 @@ sub get_param_list {
type
=>
't'
,
default
=>
7
,
checker
=>
\&
check_numeric
}
);
},
{
name
=>
'globalwatchers'
,
type
=>
't'
,
default
=>
''
,
},
);
return
@param_list
;
}
...
...
Bugzilla/Constants.pm
View file @
410641cc
...
...
@@ -85,7 +85,7 @@ use File::Basename;
THROW_ERROR
RELATIONSHIPS
REL_ASSIGNEE REL_QA REL_REPORTER REL_CC REL_VOTER
REL_ASSIGNEE REL_QA REL_REPORTER REL_CC REL_VOTER
REL_GLOBAL_WATCHER
REL_ANY
POS_EVENTS
...
...
@@ -244,9 +244,10 @@ use constant REL_QA => 1;
use
constant
REL_REPORTER
=>
2
;
use
constant
REL_CC
=>
3
;
use
constant
REL_VOTER
=>
4
;
use
constant
REL_GLOBAL_WATCHER
=>
5
;
use
constant
RELATIONSHIPS
=>
REL_ASSIGNEE
,
REL_QA
,
REL_REPORTER
,
REL_CC
,
REL_VOTER
;
REL_VOTER
,
REL_GLOBAL_WATCHER
;
# Used for global events like EVT_FLAG_REQUESTED
use
constant
REL_ANY
=>
100
;
...
...
Bugzilla/User.pm
View file @
410641cc
...
...
@@ -1460,6 +1460,9 @@ sub wants_mail {
# No mail if there are no events
return
0
if
!
scalar
(
@$events
);
# Skip DB query if relationship is explicit
return
1
if
$relationship
==
REL_GLOBAL_WATCHER
;
my
$dbh
=
Bugzilla
->
dbh
;
...
...
docs/xml/administration.xml
View file @
410641cc
...
...
@@ -198,6 +198,21 @@
<varlistentry>
<term>
globalwatcher
</term>
<listitem>
<para>
This allows to define specific users that will
receive notification each time a new bug in entered, or when
an existing bug changes, according to the normal groupset
permissions. It may be useful for sending notifications to a
mailing-list, for instance.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
usestatuswhiteboard
</term>
<listitem>
...
...
editparams.cgi
View file @
410641cc
...
...
@@ -32,6 +32,7 @@ use Bugzilla::Config::Common;
use
Bugzilla::
Util
;
use
Bugzilla::
Error
;
use
Bugzilla::
Token
;
use
Bugzilla::
User
;
my
$user
=
Bugzilla
->
login
(
LOGIN_REQUIRED
);
my
$cgi
=
Bugzilla
->
cgi
;
...
...
@@ -116,6 +117,15 @@ if ($action eq 'save' && $current_module) {
if
(
$ok
ne
""
)
{
ThrowUserError
(
'invalid_parameter'
,
{
name
=>
$name
,
err
=>
$ok
});
}
}
elsif
(
$name
eq
'globalwatchers'
)
{
# can't check this as others, as Bugzilla::Config::Common
# can not use Bugzilla::User
foreach
my
$watcher
(
split
(
/[,\s]+/
,
$value
))
{
ThrowUserError
(
'invalid_parameter'
,
{
name
=>
$name
,
err
=>
"no such user $watcher"
}
)
unless
login_to_id
(
$watcher
);
}
}
push
(
@changes
,
$name
);
SetParam
(
$name
,
$value
);
...
...
template/en/default/admin/params/mta.html.tmpl
View file @
410641cc
...
...
@@ -58,6 +58,9 @@
whinedays => "The number of days that we'll let a $terms.bug sit untouched in a NEW " _
"state before our cronjob will whine at the owner.<br> " _
"Set to 0 to disable whining." }
"Set to 0 to disable whining.",
globalwatchers => "A comma-separated list of users who should receive a " _
"copy of every notification mail the system sends." }
%]
template/en/default/email/newchangedmail.txt.tmpl
View file @
410641cc
...
...
@@ -57,6 +57,8 @@ You are the QA contact for the [% terms.bug %].
You are on the CC list for the [% terms.bug %].
[% CASE constants.REL_VOTER %]
You are a voter for the [% terms.bug %].
[% CASE constants.REL_GLOBAL_WATCHER %]
You are watching all [% terms.bug %] changes.
[% END %]
[% END %]
[% FOREACH relationship = reasons_watch %]
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment