diff --git a/.env.example b/.env.example index 3b710f8c94..f44e14c36a 100644 --- a/.env.example +++ b/.env.example @@ -47,5 +47,6 @@ OPEN_AI_SECRET="sk-O2D..." AI_MICROSERVICE_HOST="http://localhost:8010" PROCESS_REQUEST_ERRORS_RATE_LIMIT=1 PROCESS_REQUEST_ERRORS_RATE_LIMIT_DURATION=86400 +CUSTOM_EXECUTORS=false CACHE_SETTING_DRIVER=cache_settings CACHE_SETTING_PREFIX=settings diff --git a/ProcessMaker/Http/Controllers/Admin/ScriptExecutorController.php b/ProcessMaker/Http/Controllers/Admin/ScriptExecutorController.php index 671cb9b9ba..76f2450ec2 100644 --- a/ProcessMaker/Http/Controllers/Admin/ScriptExecutorController.php +++ b/ProcessMaker/Http/Controllers/Admin/ScriptExecutorController.php @@ -9,6 +9,10 @@ class ScriptExecutorController extends Controller { public function index(Request $request) { + if (!config('app.custom_executors')) { + abort(404); + } + return view('admin.script-executors.index'); } } diff --git a/ProcessMaker/Http/Controllers/Api/ScriptExecutorController.php b/ProcessMaker/Http/Controllers/Api/ScriptExecutorController.php index d4aec0fcc3..31692ee534 100644 --- a/ProcessMaker/Http/Controllers/Api/ScriptExecutorController.php +++ b/ProcessMaker/Http/Controllers/Api/ScriptExecutorController.php @@ -254,6 +254,10 @@ public function delete(Request $request, ScriptExecutor $scriptExecutor) private function checkAuth($request) { + if (!config('app.custom_executors')) { + abort(404); + } + if (!$request->user()->is_administrator) { throw new AuthorizationException(); } diff --git a/ProcessMaker/Http/Middleware/GenerateMenus.php b/ProcessMaker/Http/Middleware/GenerateMenus.php index d50a0d9224..2959431ca6 100644 --- a/ProcessMaker/Http/Middleware/GenerateMenus.php +++ b/ProcessMaker/Http/Middleware/GenerateMenus.php @@ -115,10 +115,12 @@ public function handle(Request $request, Closure $next) 'icon' => 'fa-infinity', ]); - $submenu->add(__('Script Executors'), [ - 'route' => 'script-executors.index', - 'icon' => 'fa-code', - ]); + if (config('app.custom_executors')) { + $submenu->add(__('Script Executors'), [ + 'route' => 'script-executors.index', + 'icon' => 'fa-code', + ]); + } $devlinkIcon = base64_encode(file_get_contents(base_path('resources/img/devlink.svg'))); $submenu->add(__('DevLink'), [ diff --git a/config/app.php b/config/app.php index 5cfccf5e9f..2ca5ef4050 100644 --- a/config/app.php +++ b/config/app.php @@ -269,7 +269,10 @@ 'vault_transit_key' => env('ENCRYPTED_DATA_VAULT_TRANSIT_KEY', ''), ], + 'custom_executors' => env('CUSTOM_EXECUTORS', false), + 'prometheus_namespace' => env('PROMETHEUS_NAMESPACE', 'processmaker'), + 'server_timing' => [ 'enabled' => env('SERVER_TIMING_ENABLED', true), 'min_package_time' => env('SERVER_TIMING_MIN_PACKAGE_TIME', 5), // Minimum time in milliseconds