fixed issue #705
This commit is contained in:
parent
fef1b2d8da
commit
fc3c1a468b
|
|
@ -20,4 +20,4 @@ $factory->define(App\User::class, function (Faker $faker) {
|
|||
'password' => '$2y$10$TKh8H1.PfQx37YgCzwiKb.KjNyWgaHb9cbcoQgdIVFlYg7B77UdFm', // secret
|
||||
'remember_token' => str_random(10),
|
||||
];
|
||||
});
|
||||
});
|
||||
|
|
@ -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');
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue