From 457430fe8175f601a7c2a409925daa00dbc09b74 Mon Sep 17 00:00:00 2001 From: Martin Kamerbeek Date: Wed, 2 Jun 2010 13:36:46 +0200 Subject: [PATCH] Fix bug where admin mode would be switched off for user previewing emails. --- lib/WebGUI/Asset/Wobject/NewsletterCollection.pm | 6 ------ lib/WebGUI/AssetAspect/Mailable.pm | 7 ++++++- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/lib/WebGUI/Asset/Wobject/NewsletterCollection.pm b/lib/WebGUI/Asset/Wobject/NewsletterCollection.pm index 3beefd1..6ae529f 100644 --- a/lib/WebGUI/Asset/Wobject/NewsletterCollection.pm +++ b/lib/WebGUI/Asset/Wobject/NewsletterCollection.pm @@ -87,16 +87,10 @@ sub generateEmailContent { sub getAssetContent { my $self = shift; my $asset = shift; - my $var = $self->session->var; - - my $adminOn = $var->isAdminOn; - $var->switchAdminOff; $asset->prepareView; my $content = $asset->view; - $var->switchAdminOn if $adminOn; - return $content; } diff --git a/lib/WebGUI/AssetAspect/Mailable.pm b/lib/WebGUI/AssetAspect/Mailable.pm index ca1720a..b54a013 100644 --- a/lib/WebGUI/AssetAspect/Mailable.pm +++ b/lib/WebGUI/AssetAspect/Mailable.pm @@ -96,9 +96,13 @@ sub processContentAsUser { my $issueId = shift; my $userId = shift; my $configuration = shift || {}; + my $session = $self->session; + my $var = $session->var; - my $session = $self->session; + # Save state my $currentUser = $session->user; + my $adminOn = $var->isAdminOn; + $var->switchAdminOff; # Become the desired user $session->user( { userId => $userId } ); @@ -120,6 +124,7 @@ sub processContentAsUser { # Become ourselves again. $session->user( { userId => $currentUser->getId } ); + $var->switchAdminOn if $adminOn; return $content; }