private function getMenus($user) { $menus = Permission::with('menus')->where('parent_id', 0)->orderBy('sort')->get(); if (isset($user)) { $business_id = 0; if (config('quickcms.business_user_model_class')) { $reflectionClass = new \ReflectionClass(config('quickcms.business_user_model_class')); $business_user = $reflectionClass->newInstance(); $business_user = $business_user::where('admin_id', Auth::admin()->get()->id)->first(); $business_id = count($business_user) ? $business_user->business_id : 0; } Session::put('business_id', $business_id); foreach ($menus as $key => $menu) { $items = Permission::where('parent_id', $menu->id)->orderBy('sort')->where('type', 0)->get(); if (!is_null($items) && count($items) > 0) { foreach ($items as $item_key => $item) { if (!$user->can($item->name)) { unset($menus[$key]['menus'][$item_key]); } } } if (!$user->can($menu->name)) { unset($menus[$key]); } } } Session::put('menu', json_decode($menus, true)); }
public function permissions($id) { $role = Role::find($id); $perents = Permission::with('menus')->where('parent_id', 0)->get(); $permission_ids = PermissionRole::where('role_id', $role->id)->lists('permission_id')->all(); return view('backend::roles.permission', compact('perents', 'role', 'permission_ids')); }