From: Francisco Donalisio Date: Fri, 9 Mar 2012 20:10:17 +0000 (-0500) Subject: Bug 730794 - Need new hook edituser page X-Git-Tag: bugzilla-4.2.1~34 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=bb5c2660a9231bab025c4ad816c00f8bae13417c;p=thirdparty%2Fbugzilla.git Bug 730794 - Need new hook edituser page r=dkl, a=LpSolit --- diff --git a/Bugzilla/Hook.pm b/Bugzilla/Hook.pm index b2ea820c7b..7274c8aab6 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 c25c5e9ef0..4182f68753 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 4498d2b222..af56b506be 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};