diff --git a/docs/changelog/6.x.x.txt b/docs/changelog/6.x.x.txt index 4046012fb..0dcd9663a 100644 --- a/docs/changelog/6.x.x.txt +++ b/docs/changelog/6.x.x.txt @@ -32,6 +32,7 @@ - fix [ 1489528 ] HTTP header contains invalid time-stamp - Added the quick() convenience method to WebGUI::Session. - fix [ 1487054 ] 6.99 Orphaning ads in AdSpace + - fix [ 1490336 ] all versions - deleting a user fails to existing sessions 6.99.0 diff --git a/lib/WebGUI/User.pm b/lib/WebGUI/User.pm index d18609642..a9de6e200 100644 --- a/lib/WebGUI/User.pm +++ b/lib/WebGUI/User.pm @@ -148,6 +148,11 @@ sub delete { require WebGUI::Operation::Auth; my $authMethod = WebGUI::Operation::Auth::getInstance($self->session,$self->authMethod,$self->{_userId}); $authMethod->deleteParams($self->{_userId}); + my $rs = $self->session->db->read("select sessionId from userSession where userId=?",[$self->{_userId}]); + while (my ($id) = $rs->array) { + $self->session->db->write("delete from userSessionScratch where sessionId=?",[$id]); + } + $self->session->db->write("delete from userSession where userId=?",[$self->{_userId}]); $self->session->db->write("delete from userProfileData where userId=?",[$self->{_userId}]); $self->session->db->write("delete from users where userId=?",[$self->{_userId}]); }