From 460c1f2495ff8effff79efef6f3c91edc214b3b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=BCneyt=20=C5=9Eent=C3=BCrk?= Date: Fri, 26 May 2023 11:14:53 +0300 Subject: [PATCH] Added module install after redirect route feature --- app/Http/Controllers/Modules/Item.php | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/app/Http/Controllers/Modules/Item.php b/app/Http/Controllers/Modules/Item.php index 096ed6771..cc67ebeaa 100644 --- a/app/Http/Controllers/Modules/Item.php +++ b/app/Http/Controllers/Modules/Item.php @@ -242,16 +242,30 @@ class Item extends Controller $this->dispatch(new InstallModule($request['alias'], company_id())); $name = module($request['alias'])->getName(); + $module_routes = module_attribute($request['alias'], 'routes', []); $message = trans('modules.installed', ['module' => $name]); flash($message)->success(); + $redirect = route('apps.app.show', $request['alias']); + + // Get module.json redirect route + if (! empty($module_routes['redirect_after_install'])) { + if (is_array($module_routes['redirect_after_install'])) { + $route = array_shift($module_routes['redirect_after_install']); + + $redirect = route($route, $module_routes['redirect_after_install']); + } else { + $redirect = route($module_routes['redirect_after_install']); + } + } + $json = [ 'success' => true, 'error' => false, 'message' => null, - 'redirect' => route('apps.app.show', $request['alias']), + 'redirect' => $redirect, 'data' => [ 'name' => $name, 'alias' => $request['alias'],