public function index(Request $request) { // return currentUser(); // generateMenuSlug(); // Get the authenticated user $user = auth()->user(); // Ensure the user has multiple roles // Retrieve permissions via roles $permissions = $user->getPermissionsViaRoles(); // Check the permissions // return $permissions; $user = auth()->user(); $roles = $user->getPermissionsViaRoles(); [ 'getRoleNames' => $roles = $user->roles, // Returns a collection // get a list of all permissions directly assigned to the user // 'getPermissionNames' => $user->getPermissionNames(), // collection of name strings // 'permissions' => $user->permissions, // collection of permission objects // // get all permissions for the user, either directly, or from roles, or from both 'getDirectPermissions' => $user->getDirectPermissions(), // 'getPermissionsViaRoles' => $user->getPermissionsViaRoles(), // 'getPermissionsViaRolesCount' => count($user->getPermissionsViaRoles()), // 'getAllPermissionsCount' => count($user->getAllPermissions()), // 'getAllPermissions' => $user->getAllPermissions(), // get the names of the user's roles ]; // return $roles = $user->roles; // This retrieves all roles assigned to the user // return $data = User::with('roles')->get(); // $model = User::query(); // if ($request->has('role') && $request->role != -1) { // $model->whereHas('roles', function ($q) use ($request) { // $q->where('name', $request->role); // }); // } // $result = $model->with('roles')->get(); $model = MenuHeader::query(); $menus = $model ->select( 'menu_headers.id as menuid', 'menu_headers.name1 as menuname1', 'md.id as menudetailid', 'md.name1 as menudetailname1', 'md.is_submenu_available', 'msd.id as submenudetailid', 'msd.name1 as submenudetailname1', 'md.sequence as menusequence', 'msd.sequence as submenusequence', 'msd.menu_slug as menu_sub_slug', 'md.menu_slug as menu_d_slug', ) ->leftJoin('menu_details as md', 'menu_headers.id', '=', 'md.menu_header_id') ->leftJoin('menu_sub_details as msd', 'md.id', '=', 'msd.menu_detail_id')->orderBy('md.id', 'asc')->get(); $menus_arr = []; foreach ($menus as $menu) { if ($menu->menuname1 == 'Dashboards') { continue; } $menuItem = [ 'moduleName' => $menu->menuname1, 'MenuId' => $menu->menuid, 'MenuDetailId' => $menu->menudetailid, 'MenuDetailSequence' => $menu->menusequence, 'perSlug' => $menu->menu_d_slug ]; if ($menu->is_submenu_available) { $menuItem['menuName'] = $menu->submenudetailname1; $menuItem['subMenuDetailId'] = $menu->submenudetailid; $menuItem['isSubMenu'] = 1; $menuItem['subMenuSequence'] = $menu->submenudetailid; $menuItem['perSlug'] = $menu->menu_sub_slug; } else { $menuItem['menuName'] = $menu->menudetailname1; $menuItem['subMenuDetailId'] = ""; $menuItem['perSlug'] = $menu->menu_d_slug; } $menus_arr[] = $menuItem; } // return $menus_arr; $MenuList = collect($menus_arr) ->sortBy(function ($item) { return [$item['MenuId'], $item['MenuDetailSequence'], $item['subMenuSequence'] ?? PHP_INT_MAX]; })->values()->all(); // $MenuList; $dummyData = $this->generateDummyData(count($MenuList), 20); // Merge the original data with the dummy data // $MenuList = array_merge($MenuList, $dummyData); if (request()->ajax()) { return datatables()->of($MenuList) ->addColumn( 'form', fn ($MenuList) => $MenuList['menuName'] . ' ' ) ->addColumn( 'create', fn ($MenuList) => '' ) ->addColumn( 'edit', fn ($MenuList) => '' ) ->addColumn( 'view', fn ($MenuList) => '' ) ->addColumn( 'delete', fn ($MenuList) => '' ) ->rawColumns(['form', 'create', 'edit', 'view', 'delete']) ->addIndexColumn() ->make(true); } // return generateMenuSlug(); return view('pages/administration/permission/index', [ 'roles' => Role::with('users:id,first_name,img')->get(), 'users' => User::get(['id', 'first_name', 'img']), 'userWithRoles' => User::with('roles')->get(), ]); }