diff --git a/lib/WebGUI/Workflow/Activity/CalendarUpdateFeeds.pm b/lib/WebGUI/Workflow/Activity/CalendarUpdateFeeds.pm index 0740431d3..865273d53 100644 --- a/lib/WebGUI/Workflow/Activity/CalendarUpdateFeeds.pm +++ b/lib/WebGUI/Workflow/Activity/CalendarUpdateFeeds.pm @@ -80,7 +80,8 @@ sub execute { my $object = shift; my $instance = shift; - $self->session->user({userId => 3}); + my $previousUser = $session->user; + $session->user({userId => 3}); ### TODO: If we take more than a minute, return WAITING so that some # other activity can run @@ -381,6 +382,7 @@ sub execute { if ($currentVersionTag) { $currentVersionTag->setWorking; } + $session->user({user => $previousUser}); return $self->WAITING(1); } my $eventData = shift @$eventList; @@ -431,6 +433,7 @@ sub execute { } $instance->deleteScratch('events'); $instance->deleteScratch('feeds'); + $session->user({user => $previousUser}); return $self->COMPLETE; } diff --git a/lib/WebGUI/Workflow/Activity/NotifyAboutUser.pm b/lib/WebGUI/Workflow/Activity/NotifyAboutUser.pm index eb9754d10..d07e2b5ce 100644 --- a/lib/WebGUI/Workflow/Activity/NotifyAboutUser.pm +++ b/lib/WebGUI/Workflow/Activity/NotifyAboutUser.pm @@ -92,6 +92,7 @@ See WebGUI::Workflow::Activity::execute() for details. sub execute { my $self = shift; my $user = shift; + my $previousUser = $self->session->user; $self->session->user({user=>$user}); my $message = $self->get("message"); WebGUI::Macro::process($self->session, \$message); @@ -105,6 +106,7 @@ sub execute { }); $mail->addText($message); $mail->addFooter; + $self->session->user({user=>$previousUser}); return $mail->send ? $self->COMPLETE : $self->ERROR; } diff --git a/lib/WebGUI/Workflow/Activity/RunCommandAsUser.pm b/lib/WebGUI/Workflow/Activity/RunCommandAsUser.pm index b9782a858..3077fe8a0 100644 --- a/lib/WebGUI/Workflow/Activity/RunCommandAsUser.pm +++ b/lib/WebGUI/Workflow/Activity/RunCommandAsUser.pm @@ -79,12 +79,15 @@ sub execute { my $self = shift; my $user = shift; my $cmd = $self->get("command"); + my $previousUser = $self->session->user; $self->session->user({user=>$user}); WebGUI::Macro::process($self->session, \$cmd); if (system($cmd)) { $self->session->errorHandler->error("Workflow: RunCommandAsUser failed because: $!"); + $self->session->user({user=>$previousUser}); return $self->ERROR; } else { + $self->session->user({user=>$previousUser}); return $self->COMPLETE; } }