summaryrefslogtreecommitdiffstats
path: root/Bugzilla
diff options
context:
space:
mode:
authorFrédéric Buclin <LpSolit@gmail.com>2015-02-26 15:27:30 +0100
committerFrédéric Buclin <LpSolit@gmail.com>2015-02-26 15:27:30 +0100
commit0a8f7a59f894738d86564874fbabeb1c81f3178d (patch)
tree583fef7937bd9dfa2581566531a92f1555228ad6 /Bugzilla
parent0a0c32b2082a0f31757cc09af6d7f2ff9ba45168 (diff)
downloadbugzilla-0a8f7a59f894738d86564874fbabeb1c81f3178d.tar.gz
bugzilla-0a8f7a59f894738d86564874fbabeb1c81f3178d.tar.xz
Bug 1061271: Add a hook into Bugzilla::User::check_and_send_account_creation_confirmation()
r=gerv a=glob
Diffstat (limited to 'Bugzilla')
-rw-r--r--Bugzilla/Hook.pm18
-rw-r--r--Bugzilla/User.pm4
2 files changed, 22 insertions, 0 deletions
diff --git a/Bugzilla/Hook.pm b/Bugzilla/Hook.pm
index 5abaabc7c..f711907d1 100644
--- a/Bugzilla/Hook.pm
+++ b/Bugzilla/Hook.pm
@@ -1592,6 +1592,24 @@ name), you can get it from here.
=back
+=head2 user_check_account_creation
+
+This hook permits you to do extra checks before the creation of a new user
+account. This hook is called after email address validation has been done.
+Note that this hook can also access the IP address of the requester thanks
+to the C<remote_ip()> subroutine exported by C<Bugzilla::Util>.
+
+Params:
+
+=over
+
+=item C<login>
+
+The login of the new account. This is usually an email address, unless the
+C<emailsuffix> parameter is not empty.
+
+=back
+
=head2 user_preferences
This hook allows you to add additional panels to the User Preferences page,
diff --git a/Bugzilla/User.pm b/Bugzilla/User.pm
index fa2674366..b28d09323 100644
--- a/Bugzilla/User.pm
+++ b/Bugzilla/User.pm
@@ -21,6 +21,7 @@ use Bugzilla::Classification;
use Bugzilla::Field;
use Bugzilla::Group;
use Bugzilla::BugUserLastVisit;
+use Bugzilla::Hook;
use DateTime::TimeZone;
use List::Util qw(max);
@@ -2417,6 +2418,9 @@ sub check_and_send_account_creation_confirmation {
ThrowUserError('account_creation_restricted');
}
+ # Allow extensions to do extra checks.
+ Bugzilla::Hook::process('user_check_account_creation', { login => $login });
+
# Create and send a token for this new account.
require Bugzilla::Token;
Bugzilla::Token::issue_new_user_account_token($login);