From: lpsolit%gmail.com <>
Date: Sun, 26 Feb 2006 07:40:23 +0000 (+0000)
Subject: Bug 225162: We need a UI for viewing the profiles_activity table - Patch by GavinS...
X-Git-Tag: bugzilla-2.23.1~129
X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=315ca19d2b96f7a0516fe7f0b611a48edae75824;p=thirdparty%2Fbugzilla.git
Bug 225162: We need a UI for viewing the profiles_activity table - Patch by GavinS r=LpSolit a=justdave
---
diff --git a/editusers.cgi b/editusers.cgi
index 47b51c4cbf..6e56a38478 100755
--- a/editusers.cgi
+++ b/editusers.cgi
@@ -17,6 +17,8 @@
# Lance Larsh
# Frédéric Buclin
# David Lawrence
+# Vlad Dascalu
+# Gavin Shelley
use strict;
use lib ".";
@@ -730,6 +732,29 @@ if ($action eq 'search') {
Bugzilla::BugMail::Send($_);
}
+###########################################################################
+} 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;
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 0000000000..af2d00f5b3
--- /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
+ # Gavin Shelley
+ #%]
+
+[%# 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
+%]
+
+
+
+[% 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
+%]
+
+
Edit this user or
+ find other accounts
+ [% IF listselectionvalues.matchtype != 'exact' %]
+ or go back
+ to the user list
+ [% END %]
+
+
+[% 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 ce593ee65b..dee1284066 100644
--- a/template/en/default/admin/users/edit.html.tmpl
+++ b/template/en/default/admin/users/edit.html.tmpl
@@ -105,6 +105,10 @@
[% INCLUDE listselectionhiddenfields %]
+
+ or View this user's account log
diff --git a/template/en/default/admin/users/list.html.tmpl b/template/en/default/admin/users/list.html.tmpl
index 9cbd7530db..4b483e33d8 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
+ }
]
%]