summaryrefslogtreecommitdiffstats
path: root/extensions/UserProfile/bin
diff options
context:
space:
mode:
authorByron Jones <bjones@mozilla.com>2013-08-01 08:15:20 +0200
committerByron Jones <bjones@mozilla.com>2013-08-01 08:15:20 +0200
commit612dd017fd0901d653fb8145385079a578b74caa (patch)
tree8060c14e6544f2e3981281513f56be4b1fa9e887 /extensions/UserProfile/bin
parente985249f971bdeebb498e6f8ba6cc5ff4d160d97 (diff)
downloadbugzilla-612dd017fd0901d653fb8145385079a578b74caa.tar.gz
bugzilla-612dd017fd0901d653fb8145385079a578b74caa.tar.xz
Bug 859550: Create a user profile page for bugzilla users
Diffstat (limited to 'extensions/UserProfile/bin')
-rwxr-xr-xextensions/UserProfile/bin/migrate.pl43
-rwxr-xr-xextensions/UserProfile/bin/update.pl36
2 files changed, 79 insertions, 0 deletions
diff --git a/extensions/UserProfile/bin/migrate.pl b/extensions/UserProfile/bin/migrate.pl
new file mode 100755
index 000000000..147edef9c
--- /dev/null
+++ b/extensions/UserProfile/bin/migrate.pl
@@ -0,0 +1,43 @@
+#!/usr/bin/perl
+
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
+
+use strict;
+use warnings;
+$| = 1;
+
+use FindBin qw($Bin);
+use lib "$Bin/../../..";
+
+use Bugzilla;
+BEGIN { Bugzilla->extensions() }
+
+use Bugzilla::Constants;
+use Bugzilla::Extension::UserProfile::Util;
+use Bugzilla::Install::Util qw(indicate_progress);
+
+Bugzilla->usage_mode(USAGE_MODE_CMDLINE);
+my $dbh = Bugzilla->dbh;
+
+my $user_ids = $dbh->selectcol_arrayref(
+ "SELECT userid
+ FROM profiles
+ WHERE last_activity_ts IS NULL
+ ORDER BY userid"
+);
+
+my ($current, $total) = (1, scalar(@$user_ids));
+foreach my $user_id (@$user_ids) {
+ indicate_progress({ current => $current++, total => $total, every => 25 });
+ my $ts = last_user_activity($user_id);
+ next unless $ts;
+ $dbh->do(
+ "UPDATE profiles SET last_activity_ts = ? WHERE userid = ?",
+ undef,
+ $ts, $user_id);
+}
diff --git a/extensions/UserProfile/bin/update.pl b/extensions/UserProfile/bin/update.pl
new file mode 100755
index 000000000..4cdb08fe7
--- /dev/null
+++ b/extensions/UserProfile/bin/update.pl
@@ -0,0 +1,36 @@
+#!/usr/bin/perl
+
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
+
+use strict;
+use warnings;
+
+use FindBin qw($Bin);
+use lib "$Bin/../../..";
+
+use Bugzilla;
+BEGIN { Bugzilla->extensions() }
+
+use Bugzilla::Constants;
+use Bugzilla::Extension::UserProfile::Util;
+
+Bugzilla->usage_mode(USAGE_MODE_CMDLINE);
+
+my $user_ids = Bugzilla->dbh->selectcol_arrayref(
+ "SELECT userid
+ FROM profiles
+ WHERE last_activity_ts IS NOT NULL
+ AND (last_statistics_ts IS NULL
+ OR last_activity_ts > last_statistics_ts)
+ ORDER BY userid",
+ { Slice => {} }
+);
+
+foreach my $user_id (@$user_ids) {
+ update_statistics_by_user($user_id);
+}