diff options
author | Francisco Donalisio <francsd@linux.vnet.ibm.com> | 2012-03-09 15:04:11 -0500 |
---|---|---|
committer | Dave Lawrence <dlawrence@mozilla.com> | 2012-03-09 15:04:11 -0500 |
commit | 19e709e51b9be52b90bc16f27eaf323be475fe69 (patch) | |
tree | 865940c6a23ea1b34c9312d4823e21e5a93cc226 | |
parent | 823edaec39342c46147a60bd0a1038b392ad60fa (diff) | |
download | bugs-19e709e51b9be52b90bc16f27eaf323be475fe69.tar bugs-19e709e51b9be52b90bc16f27eaf323be475fe69.tar.gz bugs-19e709e51b9be52b90bc16f27eaf323be475fe69.tar.bz2 bugs-19e709e51b9be52b90bc16f27eaf323be475fe69.tar.xz bugs-19e709e51b9be52b90bc16f27eaf323be475fe69.zip |
Bug 730794 - Need new hook edituser page
r=dkl, a=LpSolit
-rw-r--r-- | Bugzilla/Hook.pm | 24 | ||||
-rwxr-xr-x | editusers.cgi | 3 | ||||
-rw-r--r-- | extensions/Example/Extension.pm | 14 |
3 files changed, 41 insertions, 0 deletions
diff --git a/Bugzilla/Hook.pm b/Bugzilla/Hook.pm index 17023f8f5..0db7baf7d 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<vars> + +You can add as many new key/value pairs as you want to this hashref. +It will be passed to the template. + +=item C<action> + +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<user> + +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 b4b86b880..e2675921b 100755 --- a/editusers.cgi +++ b/editusers.cgi @@ -50,6 +50,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 4c2d51336..a2ab3b5fc 100644 --- a/extensions/Example/Extension.pm +++ b/extensions/Example/Extension.pm @@ -807,6 +807,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}; |