diff options
-rwxr-xr-x | editusers.cgi | 25 | ||||
-rw-r--r-- | template/en/default/account/profile-activity.html.tmpl | 88 | ||||
-rw-r--r-- | template/en/default/admin/users/edit.html.tmpl | 4 | ||||
-rw-r--r-- | template/en/default/admin/users/list.html.tmpl | 6 |
4 files changed, 123 insertions, 0 deletions
diff --git a/editusers.cgi b/editusers.cgi index 47b51c4cb..6e56a3847 100755 --- a/editusers.cgi +++ b/editusers.cgi @@ -17,6 +17,8 @@ # Lance Larsh <lance.larsh@oracle.com> # Frédéric Buclin <LpSolit@gmail.com> # David Lawrence <dkl@redhat.com> +# Vlad Dascalu <jocuri@softhome.net> +# Gavin Shelley <bugzilla@chimpychompy.org> use strict; use lib "."; @@ -731,6 +733,29 @@ if ($action eq 'search') { } ########################################################################### +} elsif ($action eq 'activity') { + my $otherUser = check_user($otherUserID, $otherUserLogin); + + $vars->{'profile_changes'} = $dbh->selectall_arrayref( + "SELECT profiles.login_name AS who, " . + $dbh->sql_date_format('profiles_activity.profiles_when') . " AS activity_when, + fielddefs.description AS what, + profiles_activity.oldvalue AS removed, + profiles_activity.newvalue AS added + FROM profiles_activity + INNER JOIN profiles ON profiles_activity.who = profiles.userid + INNER JOIN fielddefs ON fielddefs.fieldid = profiles_activity.fieldid + WHERE profiles_activity.userid = ? + ORDER BY profiles_activity.profiles_when", + {'Slice' => {}}, + $otherUser->id); + + $vars->{'otheruser'} = $otherUser; + + $template->process("account/profile-activity.html.tmpl", $vars) + || ThrowTemplateError($template->error()); + +########################################################################### } else { $vars->{'action'} = $action; ThrowCodeError('action_unrecognized', $vars); diff --git a/template/en/default/account/profile-activity.html.tmpl b/template/en/default/account/profile-activity.html.tmpl new file mode 100644 index 000000000..af2d00f5b --- /dev/null +++ b/template/en/default/account/profile-activity.html.tmpl @@ -0,0 +1,88 @@ +[%# 1.0@bugzilla.org %] +[%# The contents of this file are subject to the Mozilla Public + # License Version 1.1 (the "License"); you may not use this file + # except in compliance with the License. You may obtain a copy of + # the License at http://www.mozilla.org/MPL/ + # + # Software distributed under the License is distributed on an "AS + # IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or + # implied. See the License for the specific language governing + # rights and limitations under the License. + # + # The Original Code is the Bugzilla Bug Tracking System. + # + # The Initial Developer of the Original Code is Netscape Communications + # Corporation. Portions created by Netscape are + # Copyright (C) 1998 Netscape Communications Corporation. All + # Rights Reserved. + # + # Contributor(s): Vlad Dascalu <jocuri@softhome.net> + # Gavin Shelley <bugzilla@chimpychompy.org> + #%] + +[%# INTERFACE: + # otheruser: Bugzilla User Object; The user whose profile activity + # we are viewing. + # + # listselectionvalues: selection values to recreate the current user list. + # + # profile_changes: An array of hashes containing the following fields: + # + # who: string; login name of who made the change + # activity_when: string; when the change was made + # what: string; the description of the field which was changed + # removed: string; the removed value (maybe empty string) + # added: string; the added value (maybe empty string) + #%] + +[% title = BLOCK %] + View User Account Log for '[% otheruser.login FILTER html %]' +[% END %] + + +[% PROCESS global/header.html.tmpl + title = title +%] + +[% PROCESS admin/users/listselectvars.html.tmpl + listselectionvalues = listselectionvalues +%] + +<p> + +[% columns = + [{name => 'who' + heading => 'Who' + } + {name => 'activity_when' + heading => 'When' + } + {name => 'what' + heading => 'What' + } + {name => 'removed' + heading => 'Removed' + } + {name => 'added' + heading => 'Added' + } + ] +%] + +[% PROCESS admin/table.html.tmpl + columns = columns + data = profile_changes +%] + +<p><a href="editusers.cgi?action=edit&userid= + [%- otheruser.id FILTER url_quote %]" + title="Edit user '[% otheruser.login FILTER html %]'">Edit this user</a> or + <a title="Search For Users" href="editusers.cgi">find other accounts</a> + [% IF listselectionvalues.matchtype != 'exact' %] + or go <a title="Return to the user list" + href="editusers.cgi?action=list[% INCLUDE listselectionurlparams %]">back + to the user list</a> + [% END %] +</p> + +[% PROCESS global/footer.html.tmpl %] diff --git a/template/en/default/admin/users/edit.html.tmpl b/template/en/default/admin/users/edit.html.tmpl index ce593ee65..dee128406 100644 --- a/template/en/default/admin/users/edit.html.tmpl +++ b/template/en/default/admin/users/edit.html.tmpl @@ -105,6 +105,10 @@ <input type="hidden" name="userid" value="[% otheruser.id %]" /> <input type="hidden" name="action" value="update" /> [% INCLUDE listselectionhiddenfields %] + + or <a href="editusers.cgi?action=activity&userid=[% otheruser.id %]" + title="View the account log for user ' + [%- otheruser.login FILTER html %]'">View this user's account log</a> </p> </form> <p> diff --git a/template/en/default/admin/users/list.html.tmpl b/template/en/default/admin/users/list.html.tmpl index 9cbd7530d..4b483e33d 100644 --- a/template/en/default/admin/users/list.html.tmpl +++ b/template/en/default/admin/users/list.html.tmpl @@ -44,6 +44,12 @@ heading => 'Real name' allow_html_content => 1 } + {heading => 'User Account Log' + content => 'View' + contentlink => 'editusers.cgi?action=activity' _ + '&userid=%%userid%%' _ + listselectionurlparams + } ] %] |