From bb5c2660a9231bab025c4ad816c00f8bae13417c Mon Sep 17 00:00:00 2001 From: Francisco Donalisio Date: Fri, 9 Mar 2012 15:10:17 -0500 Subject: Bug 730794 - Need new hook edituser page r=dkl, a=LpSolit --- Bugzilla/Hook.pm | 24 ++++++++++++++++++++++++ editusers.cgi | 3 +++ extensions/Example/Extension.pm | 14 ++++++++++++++ 3 files changed, 41 insertions(+) diff --git a/Bugzilla/Hook.pm b/Bugzilla/Hook.pm index b2ea820c7..7274c8aab 100644 --- a/Bugzilla/Hook.pm +++ b/Bugzilla/Hook.pm @@ -1354,6 +1354,30 @@ name), you can get it from here. =back +=head2 admin_editusers_action + +This hook allows you to add additional actions to the admin Users page, + +Params: + +=over + +=item C + +You can add as many new key/value pairs as you want to this hashref. +It will be passed to the template. + +=item C + +A text which indicates the different behaviors that edit_users.cgi will have. +With this hook you can change the behavior of an action or add new actions. + +=item C + +This is a Bugzilla::User object of the user. + +=back + =head2 user_preferences This hook allows you to add additional panels to the User Preferences page, diff --git a/editusers.cgi b/editusers.cgi index c25c5e9ef..4182f6875 100755 --- a/editusers.cgi +++ b/editusers.cgi @@ -64,6 +64,9 @@ my $token = $cgi->param('token'); $vars->{'editusers'} = $editusers; mirrorListSelectionValues(); +Bugzilla::Hook::process('admin_editusers_action', + { vars => $vars, user => $user, action => $action }); + ########################################################################### if ($action eq 'search') { # Allow to restrict the search to any group the user is allowed to bless. diff --git a/extensions/Example/Extension.pm b/extensions/Example/Extension.pm index 4498d2b22..af56b506b 100644 --- a/extensions/Example/Extension.pm +++ b/extensions/Example/Extension.pm @@ -822,6 +822,20 @@ sub bug_check_can_change_field { } } +sub admin_editusers_action { + my ($self, $args) = @_; + my ($vars, $action, $user) = @$args{qw(vars action user)}; + my $template = Bugzilla->template; + + if ($action eq 'my_action') { + # Allow to restrict the search to any group the user is allowed to bless. + $vars->{'restrictablegroups'} = $user->bless_groups(); + $template->process('admin/users/search.html.tmpl', $vars) + || ThrowTemplateError($template->error()); + exit; + } +} + sub user_preferences { my ($self, $args) = @_; my $tab = $args->{current_tab}; -- cgit v1.2.3-24-g4f1b