From fb4c22207f27dc070149073cde8adb4ed8866250 Mon Sep 17 00:00:00 2001 From: "lpsolit%gmail.com" <> Date: Thu, 8 Jun 2006 03:31:10 +0000 Subject: Bug 312935: User Account Log should start with a creation date - Patch by Frédéric Buclin r=bkor, r=wicked a=myk MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Bugzilla/User.pm | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) (limited to 'Bugzilla/User.pm') diff --git a/Bugzilla/User.pm b/Bugzilla/User.pm index f0f8467a7..7bafd688a 100644 --- a/Bugzilla/User.pm +++ b/Bugzilla/User.pm @@ -28,6 +28,7 @@ # Lance Larsh # Justin C. De Vries # Dennis Melentyev +# Frédéric Buclin ################################################################################ # Module Initialization @@ -46,6 +47,7 @@ use Bugzilla::Constants; use Bugzilla::User::Setting; use Bugzilla::Product; use Bugzilla::Classification; +use Bugzilla::Field; use base qw(Exporter); @Bugzilla::User::EXPORT = qw(insert_new_user is_available_username @@ -1321,7 +1323,7 @@ sub insert_new_user { ($username, $realname, $cryptpassword, $disabledtext)); # Turn on all email for the new user - my $userid = $dbh->bz_last_key('profiles', 'userid'); + my $new_userid = $dbh->bz_last_key('profiles', 'userid'); foreach my $rel (RELATIONSHIPS) { foreach my $event (POS_EVENTS, NEG_EVENTS) { @@ -1333,19 +1335,29 @@ sub insert_new_user { next if (($event == EVT_CC) && ($rel != REL_REPORTER)); $dbh->do('INSERT INTO email_setting (user_id, relationship, event) - VALUES (?, ?, ?)', undef, ($userid, $rel, $event)); + VALUES (?, ?, ?)', undef, ($new_userid, $rel, $event)); } } foreach my $event (GLOBAL_EVENTS) { $dbh->do('INSERT INTO email_setting (user_id, relationship, event) - VALUES (?, ?, ?)', undef, ($userid, REL_ANY, $event)); + VALUES (?, ?, ?)', undef, ($new_userid, REL_ANY, $event)); } - my $user = new Bugzilla::User($userid); + my $user = new Bugzilla::User($new_userid); $user->derive_regexp_groups(); - + # Add the creation date to the profiles_activity table. + # $who is the user who created the new user account, i.e. either an + # admin or the new user himself. + my $who = Bugzilla->user->id || $user->id; + my $creation_date_fieldid = get_field_id('creation_ts'); + + $dbh->do('INSERT INTO profiles_activity + (userid, who, profiles_when, fieldid, newvalue) + VALUES (?, ?, NOW(), ?, NOW())', + undef, ($user->id, $who, $creation_date_fieldid)); + # Return the password to the calling code so it can be included # in an email sent to the user. return $password; -- cgit v1.2.3-24-g4f1b