diff --git a/lib/WebGUI/Admin.pm b/lib/WebGUI/Admin.pm index ed365a939..adf9df585 100644 --- a/lib/WebGUI/Admin.pm +++ b/lib/WebGUI/Admin.pm @@ -800,9 +800,6 @@ sub www_view { my $var; $var->{backToSiteUrl} = $url->page; - # temporary! We are now in admin mode! - $session->switchAdminOn; - # Add vars for AdminBar $var->{adminPlugins} = $self->getAdminPluginTemplateVars; $var->{newContentTabs} = $self->getNewContentTemplateVars; diff --git a/lib/WebGUI/Session.pm b/lib/WebGUI/Session.pm index 0c9a77c96..d9dff6809 100644 --- a/lib/WebGUI/Session.pm +++ b/lib/WebGUI/Session.pm @@ -779,6 +779,9 @@ sub start { $self->{_sessionId} = $sessionId; $self->cache->set($sessionId, $self->{_var}, $timeout); delete $self->{_var}{nextCacheFlush}; + if ( $self->user->isInGroup( 12 ) ) { # Turn Admin On!! + $self->{_var}{adminOn} = 1; + } $self->db->setRow("userSession","sessionId",$self->{_var}, $sessionId); $self->scratch->set('webguiCsrfToken', $self->id->generate); # create cross site request forgery token } @@ -815,39 +818,6 @@ sub style { return $self->{_style} } - -#------------------------------------------------------------------- - -=head2 switchAdminOff ( ) - -Disables admin mode. - -=cut - -sub switchAdminOff { - my $self = shift; - $self->{_var}{adminOn} = 0; - $self->cache->set($self->getId, $self->{_var}, $self->setting->get('sessionTimeout')); - delete $self->{_var}{nextCacheFlush}; - $self->db->setRow("userSession","sessionId", $self->{_var}); -} - -#------------------------------------------------------------------- - -=head2 switchAdminOn ( ) - -Enables admin mode. - -=cut - -sub switchAdminOn { - my $self = shift; - $self->{_var}{adminOn} = 1; - $self->cache->set($self->getId, $self->{_var}, $self->setting->get('sessionTimeout')); - delete $self->{_var}{nextCacheFlush}; - $self->db->setRow("userSession","sessionId", $self->{_var}); -} - #------------------------------------------------------------------- =head2 url ( ) @@ -889,13 +859,13 @@ sub user { my $option = shift; if (defined $option) { my $userId = $option->{userId} || $option->{user}->userId; - $self->start($userId,$self->getId); if ($self->setting->get("passiveProfilingEnabled")) { $self->db->write("update passiveProfileLog set userId = ? where sessionId = ?",[$userId,$self->getId]); } delete $self->{_stow}; $self->{_user} = $option->{user} || WebGUI::User->new($self, $userId); $self->request->env->{REMOTE_USER} = $self->{_user}->username if $self->request; + $self->start($userId,$self->getId); } elsif (!exists $self->{_user}) { $self->{_user} = WebGUI::User->new($self, $self->get('userId')); diff --git a/share/upgrades/7.10.4-8.0.0/root_import_adminconsole_admin-interface.wgpkg b/share/upgrades/7.10.4-8.0.0/root_import_adminconsole_admin-interface.wgpkg index 73bd45b1a..a33fe0022 100644 Binary files a/share/upgrades/7.10.4-8.0.0/root_import_adminconsole_admin-interface.wgpkg and b/share/upgrades/7.10.4-8.0.0/root_import_adminconsole_admin-interface.wgpkg differ