From 5e3ee40edf2f477a3ad3fe08126f810a979f1a5d Mon Sep 17 00:00:00 2001 From: Sam Georges Date: Sun, 9 Nov 2014 13:06:07 +1100 Subject: [PATCH] Fixes #521 - Redirect to next available menu item when Dashboard access is denied --- modules/backend/controllers/Auth.php | 9 +++++++++ modules/backend/layouts/_mainmenu.htm | 4 +++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/modules/backend/controllers/Auth.php b/modules/backend/controllers/Auth.php index 4f95ed926..9447daebf 100644 --- a/modules/backend/controllers/Auth.php +++ b/modules/backend/controllers/Auth.php @@ -6,6 +6,7 @@ use Backend; use Redirect; use Validator; use BackendAuth; +use BackendMenu; use Backend\Models\User; use Backend\Models\AccessLog; use Backend\Classes\Controller; @@ -83,6 +84,14 @@ class Auth extends Controller // Log the sign in event AccessLog::add($user); + // User cannot access the dashboard + if (!$user->hasAccess('backend.access_dashboard')) { + $true = function(){ return true; }; + if ($first = array_first(BackendMenu::listMainMenuItems(), $true)) { + return Redirect::intended($first->url); + } + } + // Redirect to the intended page after successful sign in return Redirect::intended(Backend::url('backend')); } diff --git a/modules/backend/layouts/_mainmenu.htm b/modules/backend/layouts/_mainmenu.htm index 61e18be3f..25746406f 100644 --- a/modules/backend/layouts/_mainmenu.htm +++ b/modules/backend/layouts/_mainmenu.htm @@ -13,7 +13,9 @@