fixed issue #705

This commit is contained in:
Prashant Singh 2019-03-30 16:44:21 +05:30
parent fef1b2d8da
commit fc3c1a468b
2 changed files with 24 additions and 18 deletions

View File

@ -20,4 +20,4 @@ $factory->define(App\User::class, function (Faker $faker) {
'password' => '$2y$10$TKh8H1.PfQx37YgCzwiKb.KjNyWgaHb9cbcoQgdIVFlYg7B77UdFm', // secret
'remember_token' => str_random(10),
];
});
});

View File

@ -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');
}
}