diff --git a/ProcessMaker/ImportExport/Exporters/ScriptExecutorExporter.php b/ProcessMaker/ImportExport/Exporters/ScriptExecutorExporter.php index 7a515ae275..e3a0152c14 100644 --- a/ProcessMaker/ImportExport/Exporters/ScriptExecutorExporter.php +++ b/ProcessMaker/ImportExport/Exporters/ScriptExecutorExporter.php @@ -5,6 +5,7 @@ use Illuminate\Support\Facades\Auth; use ProcessMaker\Events\ScriptExecutorUpdated; use ProcessMaker\Jobs\BuildScriptExecutor; +use ProcessMaker\Models\ScriptExecutor; use ProcessMaker\Models\User; class ScriptExecutorExporter extends ExporterBase @@ -23,11 +24,11 @@ public function import() : bool { $authenticatedUser = Auth::user(); $userId = $authenticatedUser ? $authenticatedUser->id : User::where('username', 'admin')->pluck('id'); - switch ($this->mode) { case 'copy': case 'new': - BuildScriptExecutor::dispatch($this->model->id, $userId); + // afterCommit is needed because we are in a db transaction + BuildScriptExecutor::dispatch($this->model->id, $userId)->afterCommit(); break; case 'update': if (!empty($this->model->getChanges())) { @@ -38,7 +39,8 @@ public function import() : bool } else { $user = User::where('is_administrator', 1)->first(); } - BuildScriptExecutor::dispatch($this->model->id, $user->id); + // afterCommit is needed because we are in a db transaction + BuildScriptExecutor::dispatch($this->model->id, $user->id)->afterCommit(); } break;