Bug 312935: User Account Log should start with a creation date - Patch by Fr�d�ric Buclin <LpSolit@gmail.com> r=bkor, r=wicked a=myk

This commit is contained in:
lpsolit%gmail.com 2006-06-07 20:31:10 +00:00
Родитель 781119d3d7
Коммит 565e904d3c
3 изменённых файлов: 22 добавлений и 10 удалений

Просмотреть файл

@ -28,6 +28,7 @@
# Lance Larsh <lance.larsh@oracle.com>
# Justin C. De Vries <judevries@novell.com>
# Dennis Melentyev <dennis.melentyev@infopulse.com.ua>
# Frédéric Buclin <LpSolit@gmail.com>
################################################################################
# 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;

Просмотреть файл

@ -69,9 +69,9 @@ if (defined($login)) {
$vars->{'login'} = $login;
$dbh->bz_lock_tables('profiles WRITE', 'groups READ',
$dbh->bz_lock_tables('profiles WRITE', 'profiles_activity WRITE',
'user_group_map WRITE', 'email_setting WRITE',
'tokens READ');
'groups READ', 'tokens READ', 'fielddefs READ');
if (!is_available_username($login)) {
# Account already exists

Просмотреть файл

@ -199,9 +199,9 @@ if ($action eq 'search') {
my $disabledtext = trim($cgi->param('disabledtext') || '');
# Lock tables during the check+creation session.
$dbh->bz_lock_tables('profiles WRITE', 'email_setting WRITE',
'user_group_map WRITE', 'groups READ',
'tokens READ');
$dbh->bz_lock_tables('profiles WRITE', 'profiles_activity WRITE',
'email_setting WRITE', 'user_group_map WRITE',
'groups READ', 'tokens READ', 'fielddefs READ');
# Validity checks
$login || ThrowUserError('user_login_required');