restore original user when running workflows
This commit is contained in:
parent
594a2b7eae
commit
41c92199ac
3 changed files with 9 additions and 1 deletions
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue