From b56bcda54cdee40c994751f4a72a152a3dd6df94 Mon Sep 17 00:00:00 2001 From: Byron Jones Date: Thu, 5 Jun 2014 13:18:50 +0800 Subject: Bug 1018811: updated account name not reflected in "Reported" field of bugs --- Bugzilla/User.pm | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) (limited to 'Bugzilla/User.pm') diff --git a/Bugzilla/User.pm b/Bugzilla/User.pm index c1ab65dc3..f707a8e80 100644 --- a/Bugzilla/User.pm +++ b/Bugzilla/User.pm @@ -179,20 +179,25 @@ sub super_user { sub update { my $self = shift; + my $options = shift; + my $changes = $self->SUPER::update(@_); my $dbh = Bugzilla->dbh; if (exists $changes->{login_name}) { - # If we changed the login, silently delete any tokens. - $dbh->do('DELETE FROM tokens WHERE userid = ?', undef, $self->id); + # Delete all the tokens related to the userid + $dbh->do('DELETE FROM tokens WHERE userid = ?', undef, $self->id) + unless $options->{keep_tokens}; # And rederive regex groups $self->derive_regexp_groups(); } # Logout the user if necessary. - Bugzilla->logout_user($self) - if (exists $changes->{login_name} || exists $changes->{disabledtext} - || exists $changes->{cryptpassword}); + Bugzilla->logout_user($self) + if (!$options->{keep_session} + && (exists $changes->{login_name} + || exists $changes->{disabledtext} + || exists $changes->{cryptpassword})); # XXX Can update profiles_activity here as soon as it understands # field names like login_name. -- cgit v1.2.3-24-g4f1b