示例#1
0
 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));
 }
示例#2
0
 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'));
 }