]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
Bug 225162: We need a UI for viewing the profiles_activity table - Patch by GavinS...
authorlpsolit%gmail.com <>
Sun, 26 Feb 2006 07:40:23 +0000 (07:40 +0000)
committerlpsolit%gmail.com <>
Sun, 26 Feb 2006 07:40:23 +0000 (07:40 +0000)
editusers.cgi
template/en/default/account/profile-activity.html.tmpl [new file with mode: 0644]
template/en/default/admin/users/edit.html.tmpl
template/en/default/admin/users/list.html.tmpl

index 47b51c4cbf46a306fcc56b842a0961ec20e0f7a9..6e56a384780f84e5e0e8e8108beb5e9e8015000b 100755 (executable)
@@ -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 ".";
@@ -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 (file)
index 0000000..af2d00f
--- /dev/null
@@ -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&amp;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 %] 
index ce593ee65ba3453a4abbbbf8068d11c35ea58696..dee1284066f6eb92373ee372ca91f34d330e5374 100644 (file)
   <input type="hidden" name="userid" value="[% otheruser.id %]" />
   <input type="hidden" name="action" value="update" />
   [% INCLUDE listselectionhiddenfields %]
+
+  or <a href="editusers.cgi?action=activity&amp;userid=[% otheruser.id %]"
+        title="View the account log for user '
+        [%- otheruser.login FILTER html %]'">View this user's account log</a>
 </p>
 </form>
 <p>
index 9cbd7530db9f903ef831fce386a0c396ff1f4f2b..4b483e33d8164c83d4bf04ab074d119b7ac70cc4 100644 (file)
     heading            => 'Real name'
     allow_html_content => 1
    }
+   {heading            => 'User Account Log'
+    content            => 'View'
+    contentlink        => 'editusers.cgi?action=activity' _
+                                  '&amp;userid=%%userid%%' _
+                                  listselectionurlparams
+   }
   ]
 %]