diff options
author | Gervase Markham <gerv@gerv.net> | 2011-01-07 12:00:25 +0100 |
---|---|---|
committer | Gervase Markham <gerv@mozilla.org> | 2011-01-07 12:00:25 +0100 |
commit | 0459ae826b56c137409c5236bbf78ef939ab968c (patch) | |
tree | ff2ed0a8aa107865cbd63d17a7e06dbf5aa9141c | |
parent | aa94254a92a7d1c4f09275b5937c3eae7300dad6 (diff) | |
download | bugzilla-0459ae826b56c137409c5236bbf78ef939ab968c.tar.gz bugzilla-0459ae826b56c137409c5236bbf78ef939ab968c.tar.xz |
Provide user objects to bugmail_recipients hook. r,a=mkanat.
https://bugzilla.mozilla.org/show_bug.cgi?id=622813
-rw-r--r-- | Bugzilla/BugMail.pm | 8 | ||||
-rw-r--r-- | Bugzilla/Hook.pm | 8 |
2 files changed, 15 insertions, 1 deletions
diff --git a/Bugzilla/BugMail.pm b/Bugzilla/BugMail.pm index dfd7584ea..048488e02 100644 --- a/Bugzilla/BugMail.pm +++ b/Bugzilla/BugMail.pm @@ -184,8 +184,14 @@ sub Send { } } + # Make sure %user_cache has every user in it so far referenced + foreach my $user_id (keys %recipients) { + $user_cache{$user_id} ||= new Bugzilla::User($user_id); + } + Bugzilla::Hook::process('bugmail_recipients', - { bug => $bug, recipients => \%recipients }); + { bug => $bug, recipients => \%recipients, + users => \%user_cache }); # Find all those user-watching anyone on the current list, who is not # on it already themselves. diff --git a/Bugzilla/Hook.pm b/Bugzilla/Hook.pm index b48ebb9fa..1b4bdd971 100644 --- a/Bugzilla/Hook.pm +++ b/Bugzilla/Hook.pm @@ -494,6 +494,14 @@ as though he were on the CC list: (We use C<+> in front of C<REL_CC> so that Perl interprets it as a constant instead of as a string.) +=item C<users> + +This is a hash of L<Bugzilla::User> objects, keyed by id. This is so you can +find out more information about any of the user ids in the C<recipients> hash. +Every id in the incoming C<recipients> hash will have an object in here. +(But if you add additional recipients to the C<recipients> hash, you are +B<not> required to add them to this hash.) + =back |