diff --git a/database/factories/UserFactory.php b/database/factories/UserFactory.php index facf2337b..467777c5f 100755 --- a/database/factories/UserFactory.php +++ b/database/factories/UserFactory.php @@ -20,4 +20,4 @@ $factory->define(App\User::class, function (Faker $faker) { 'password' => '$2y$10$TKh8H1.PfQx37YgCzwiKb.KjNyWgaHb9cbcoQgdIVFlYg7B77UdFm', // secret 'remember_token' => str_random(10), ]; -}); +}); \ No newline at end of file diff --git a/packages/Webkul/Admin/src/Providers/AdminServiceProvider.php b/packages/Webkul/Admin/src/Providers/AdminServiceProvider.php index 76a50f105..57bcce5f7 100755 --- a/packages/Webkul/Admin/src/Providers/AdminServiceProvider.php +++ b/packages/Webkul/Admin/src/Providers/AdminServiceProvider.php @@ -65,26 +65,32 @@ class AdminServiceProvider extends ServiceProvider view()->composer(['admin::layouts.nav-left', 'admin::layouts.nav-aside', 'admin::layouts.tabs'], function ($view) { $tree = Tree::create(); - $replaceRoutes = array(); - $allowedPermissions = auth()->guard('admin')->user()->role->permissions; - $threeLevelGroups = array(); - - //find three level groups - foreach ($allowedPermissions as $index => $allowedPermission) { - if (substr_count($allowedPermission, '.') == 2) { - $culprit = $allowedPermissions[$index - 1]; - - if (str_contains($allowedPermission, $culprit)) - array_push($threeLevelGroups, $allowedPermission); - } - } - - dd($threeLevelGroups); - - foreach (config('menu.admin') as $item) { + foreach (config('menu.admin') as $index => $item) { if (bouncer()->hasPermission($item['key'])) { + if($index+1 < count(config('menu.admin'))) { + $permission = config('menu.admin')[$index + 1]; + + if (substr_count($permission['key'], '.') == 2) { + if (substr_count($item['key'], '.') == 1) { + + foreach($allowedPermissions as $key => $value) { + if ($item['key'] == $value) { + // dd($item['key'], $value); --> setting.users, settings.users + $neededItem = $allowedPermissions[$key + 1]; + + foreach(config('menu.admin') as $key1 => $findMatced) { + if ($findMatced['key'] == $neededItem) { + $item['route'] = $findMatced['route']; + } + } + } + } + } + } + } + $tree->add($item, 'menu'); } }