summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Bugzilla/BugMail.pm8
-rw-r--r--Bugzilla/Hook.pm8
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