orderBy('name')->get(['id', 'name', 'email']); $roles = Role::with('permissions:id,slug,name')->orderBy('name')->get(['id', 'name', 'slug']); $permissions = Permission::orderBy('slug')->get(['id', 'name', 'slug']); return Inertia::render('Admin/Users/Index', [ 'users' => $users, 'roles' => $roles, 'permissions' => $permissions, ]); } public function store(StoreUserRequest $request): RedirectResponse { $validated = $request->validated(); $user = User::create([ 'name' => $validated['name'], 'email' => $validated['email'], 'password' => Hash::make($validated['password']), ]); if (! empty($validated['roles'])) { $user->roles()->sync($validated['roles']); } return back()->with('success', 'Uporabnik uspešno ustvarjen'); } public function update(Request $request, User $user): RedirectResponse { Gate::authorize('manage-settings'); $validated = $request->validate([ 'roles' => ['array'], 'roles.*' => ['integer', 'exists:roles,id'], ]); $user->roles()->sync($validated['roles'] ?? []); return back()->with('success', 'Roles updated'); } }