lk.zachem.info/app/Modules/Admin/Http/Controllers/AdminUsersController.php
2025-04-10 15:40:30 +08:00

63 lines
1.6 KiB
PHP

<?php
namespace Modules\Admin\Http\Controllers;
use Modules\Post\Models\Post;
use Modules\Post\Models\PostCategory;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Models\User\UserRole;
use App\Models\User\Role;
use App\Models\User;
class AdminUsersController extends Controller
{
public function index(Request $request)
{
$users = User::orderBy('name');
if ($request->role && $request->role != 'all')
{
$users->whereIn(
'id',
UserRole::where('role_id', $request->role)
->get()
->map(function (UserRole $userRole)
{
return $userRole->user_id;
})
);
}
return view('admin::users.index', [
'users' => $users->get(),
'roles' => Role::all(),
'role' => $request->role
]);
}
public function edit(User $user)
{
$roles = UserRole::where('user_id', $user->id)->get();
return view('admin::users.edit', [
'user' => $user,
'userRoles' => $roles,
'roles' => Role::class
]);
}
public function update(Request $request, User $user)
{
$user->update($request->only('name', 'email', 'phone'));
return to_route('admin.users');
}
public function deleteUserRole(UserRole $userRole)
{
$user = User::find($userRole->user_id);
$userRole->delete();
return to_route('admin.users.edit', [
'user' => $user
]);
}
}