diff --git a/ProcessMaker/Providers/AuthServiceProvider.php b/ProcessMaker/Providers/AuthServiceProvider.php index 55d78fd6b5..551233dc1e 100644 --- a/ProcessMaker/Providers/AuthServiceProvider.php +++ b/ProcessMaker/Providers/AuthServiceProvider.php @@ -161,6 +161,8 @@ private function checkAllowedEndpoints(array $projectIds, string $currentPath): $allowedEndpoints[] = 'designer/screen-builder/' . $assetId . '/edit'; } elseif ($assetType === Script::class) { $allowedEndpoints[] = 'designer/scripts/' . $assetId . '/builder'; + $allowedEndpoints[] = 'designer/scripts/' . $assetId . '/edit'; + $allowedEndpoints[] = 'designer/scripts/preview'; } } diff --git a/ProcessMaker/Traits/ProjectAssetTrait.php b/ProcessMaker/Traits/ProjectAssetTrait.php index e4c0232c5e..cd2d36e583 100644 --- a/ProcessMaker/Traits/ProjectAssetTrait.php +++ b/ProcessMaker/Traits/ProjectAssetTrait.php @@ -41,7 +41,10 @@ private function extractProjectIds($input) $projectIds = $input->input('projects', ''); } elseif (is_int($input)) { $projectIds = $input; - } else { + } elseif (is_string($input)) { + $projectIds = $input; + } + else { return []; } diff --git a/resources/views/processes/screens/edit.blade.php b/resources/views/processes/screens/edit.blade.php index d53f444f06..6b7aecddf2 100644 --- a/resources/views/processes/screens/edit.blade.php +++ b/resources/views/processes/screens/edit.blade.php @@ -118,7 +118,9 @@ }); }, onClose() { - window.location.href = '/designer/screens'; + const queryParams = new URLSearchParams(window.location.search); + const projectId = queryParams.get("project_id"); + window.location.href = projectId ? `/designer/projects/${projectId}`: '/designer/screens'; }, onUpdate() { this.resetErrors(); diff --git a/resources/views/processes/scripts/edit.blade.php b/resources/views/processes/scripts/edit.blade.php index 55816f4217..883435d6df 100644 --- a/resources/views/processes/scripts/edit.blade.php +++ b/resources/views/processes/scripts/edit.blade.php @@ -184,7 +184,9 @@ }); }, onClose() { - window.location.href = '/designer/scripts'; + const queryParams = new URLSearchParams(window.location.search); + const projectId = queryParams.get("project_id"); + window.location.href = projectId ? `/designer/projects/${projectId}`: '/designer/scripts'; }, onUpdate() { this.resetErrors();