diff options
author | lpsolit%gmail.com <> | 2005-09-05 03:45:10 +0200 |
---|---|---|
committer | lpsolit%gmail.com <> | 2005-09-05 03:45:10 +0200 |
commit | 012dada9941e13b7a1b18875754ec12ee217d433 (patch) | |
tree | 232d38f666700bbd284a79a322d6af6058d14b53 /editusers.cgi | |
parent | 461409095f1b7e69db65ce9756e5321aa0b3922e (diff) | |
download | bugzilla-012dada9941e13b7a1b18875754ec12ee217d433.tar.gz bugzilla-012dada9941e13b7a1b18875754ec12ee217d433.tar.xz |
Bug 304268: edit users form should have an item for "edit this user" - Patch by GavinS <bugzilla@chimpychompy.org> r=wurblzap a=justdave
Diffstat (limited to 'editusers.cgi')
-rwxr-xr-x | editusers.cgi | 43 |
1 files changed, 30 insertions, 13 deletions
diff --git a/editusers.cgi b/editusers.cgi index b7ce52b3e..e6d4fffe8 100755 --- a/editusers.cgi +++ b/editusers.cgi @@ -118,6 +118,9 @@ if ($action eq 'search') { } elsif ($matchtype eq 'notregexp') { $query .= $dbh->sql_not_regexp($expr, '?'); $matchstr = '.' unless $matchstr; + } elsif ($matchtype eq 'exact') { + $query .= $expr . ' = ?'; + $matchstr = '.' unless $matchstr; } else { # substr or unknown $query .= $expr . ' like ?'; $matchstr = "%$matchstr%"; @@ -142,10 +145,17 @@ if ($action eq 'search') { $vars->{'users'} = $dbh->selectall_arrayref($query, {'Slice' => {}}, @bindValues); + } - $template->process('admin/users/list.html.tmpl', $vars) - || ThrowTemplateError($template->error()); + if ($matchtype eq 'exact' && scalar(@{$vars->{'users'}}) == 1) { + $otherUserID = $vars->{'users'}[0]->{'userid'}; + $otherUser = new Bugzilla::User($otherUserID); + edit_processing(); + } else { + $template->process('admin/users/list.html.tmpl', $vars) + || ThrowTemplateError($template->error()); + } ########################################################################### } elsif ($action eq 'add') { @@ -198,18 +208,8 @@ if ($action eq 'search') { ########################################################################### } elsif ($action eq 'edit') { - $otherUser - || ThrowCodeError('invalid_user_id', {'userid' => $cgi->param('userid')}); - - $user->can_see_user($otherUser) - || ThrowUserError('auth_failure', {reason => "not_visible", - action => "modify", - object => "user"}); - userDataToVars($otherUserID); - - $template->process('admin/users/edit.html.tmpl', $vars) - || ThrowTemplateError($template->error()); + edit_processing(); ########################################################################### } elsif ($action eq 'update') { @@ -778,3 +778,20 @@ sub userDataToVars { $vars->{'permissions'}{${$_}[0]}{'indirectbless'} = 1; } } + +sub edit_processing +{ + $otherUser + || ThrowCodeError('invalid_user_id', {'userid' => $cgi->param('userid')}); + + $user->can_see_user($otherUser) + || ThrowUserError('auth_failure', {reason => "not_visible", + action => "modify", + object => "user"}); + + userDataToVars($otherUserID); + + $template->process('admin/users/edit.html.tmpl', $vars) + || ThrowTemplateError($template->error()); + +} |