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 $object = shift;
|
||||||
my $instance = 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
|
### TODO: If we take more than a minute, return WAITING so that some
|
||||||
# other activity can run
|
# other activity can run
|
||||||
|
|
@ -381,6 +382,7 @@ sub execute {
|
||||||
if ($currentVersionTag) {
|
if ($currentVersionTag) {
|
||||||
$currentVersionTag->setWorking;
|
$currentVersionTag->setWorking;
|
||||||
}
|
}
|
||||||
|
$session->user({user => $previousUser});
|
||||||
return $self->WAITING(1);
|
return $self->WAITING(1);
|
||||||
}
|
}
|
||||||
my $eventData = shift @$eventList;
|
my $eventData = shift @$eventList;
|
||||||
|
|
@ -431,6 +433,7 @@ sub execute {
|
||||||
}
|
}
|
||||||
$instance->deleteScratch('events');
|
$instance->deleteScratch('events');
|
||||||
$instance->deleteScratch('feeds');
|
$instance->deleteScratch('feeds');
|
||||||
|
$session->user({user => $previousUser});
|
||||||
return $self->COMPLETE;
|
return $self->COMPLETE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -92,6 +92,7 @@ See WebGUI::Workflow::Activity::execute() for details.
|
||||||
sub execute {
|
sub execute {
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
my $user = shift;
|
my $user = shift;
|
||||||
|
my $previousUser = $self->session->user;
|
||||||
$self->session->user({user=>$user});
|
$self->session->user({user=>$user});
|
||||||
my $message = $self->get("message");
|
my $message = $self->get("message");
|
||||||
WebGUI::Macro::process($self->session, \$message);
|
WebGUI::Macro::process($self->session, \$message);
|
||||||
|
|
@ -105,6 +106,7 @@ sub execute {
|
||||||
});
|
});
|
||||||
$mail->addText($message);
|
$mail->addText($message);
|
||||||
$mail->addFooter;
|
$mail->addFooter;
|
||||||
|
$self->session->user({user=>$previousUser});
|
||||||
return $mail->send ? $self->COMPLETE : $self->ERROR;
|
return $mail->send ? $self->COMPLETE : $self->ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -79,12 +79,15 @@ sub execute {
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
my $user = shift;
|
my $user = shift;
|
||||||
my $cmd = $self->get("command");
|
my $cmd = $self->get("command");
|
||||||
|
my $previousUser = $self->session->user;
|
||||||
$self->session->user({user=>$user});
|
$self->session->user({user=>$user});
|
||||||
WebGUI::Macro::process($self->session, \$cmd);
|
WebGUI::Macro::process($self->session, \$cmd);
|
||||||
if (system($cmd)) {
|
if (system($cmd)) {
|
||||||
$self->session->errorHandler->error("Workflow: RunCommandAsUser failed because: $!");
|
$self->session->errorHandler->error("Workflow: RunCommandAsUser failed because: $!");
|
||||||
|
$self->session->user({user=>$previousUser});
|
||||||
return $self->ERROR;
|
return $self->ERROR;
|
||||||
} else {
|
} else {
|
||||||
|
$self->session->user({user=>$previousUser});
|
||||||
return $self->COMPLETE;
|
return $self->COMPLETE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue