diff options
author | Byron Jones <bjones@mozilla.com> | 2013-08-01 08:15:20 +0200 |
---|---|---|
committer | Byron Jones <bjones@mozilla.com> | 2013-08-01 08:15:20 +0200 |
commit | 612dd017fd0901d653fb8145385079a578b74caa (patch) | |
tree | 8060c14e6544f2e3981281513f56be4b1fa9e887 /extensions/UserProfile/bin | |
parent | e985249f971bdeebb498e6f8ba6cc5ff4d160d97 (diff) | |
download | bugzilla-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-x | extensions/UserProfile/bin/migrate.pl | 43 | ||||
-rwxr-xr-x | extensions/UserProfile/bin/update.pl | 36 |
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); +} |