diff --git a/app/Http/Controllers/UserController.php b/app/Http/Controllers/UserController.php
index 3201ed4..a6fbeca 100644
--- a/app/Http/Controllers/UserController.php
+++ b/app/Http/Controllers/UserController.php
@@ -3,6 +3,8 @@
namespace App\Http\Controllers;
use App\Models\User;
+use Illuminate\Http\RedirectResponse;
+use Illuminate\Http\Request;
use Illuminate\View\View;
class UserController extends Controller
@@ -13,4 +15,21 @@ class UserController extends Controller
return view('users.index', compact('users'));
}
+
+ public function edit(User $user): View
+ {
+ return view('users.edit', compact('user'));
+ }
+
+ public function update(Request $request, User $user): RedirectResponse
+ {
+ $validated = $request->validate([
+ 'name' => ['required', 'string', 'max:255'],
+ 'email' => ['required', 'email', 'max:255', 'unique:users,email,'.$user->id],
+ ]);
+
+ $user->update($validated);
+
+ return redirect()->route('users.index')->with('success', __('User updated successfully.'));
+ }
}
diff --git a/resources/views/users/edit.blade.php b/resources/views/users/edit.blade.php
new file mode 100644
index 0000000..2b56d48
--- /dev/null
+++ b/resources/views/users/edit.blade.php
@@ -0,0 +1,39 @@
+
+ {{ __('Edit User') }}
+
+
| {{ __('Joined') }} | +{{ $user->created_at->format('M j, Y') }} | ++ + {{ __('Edit') }} + + | @endforeach diff --git a/routes/web.php b/routes/web.php index ce44b28..4e7c043 100644 --- a/routes/web.php +++ b/routes/web.php @@ -14,6 +14,8 @@ Route::get('/dashboard', function () { Route::middleware('auth')->group(function () { Route::get('/users', [UserController::class, 'index'])->name('users.index'); + Route::get('/users/{user}/edit', [UserController::class, 'edit'])->name('users.edit'); + Route::patch('/users/{user}', [UserController::class, 'update'])->name('users.update'); Route::get('/profile', [ProfileController::class, 'edit'])->name('profile.edit'); Route::patch('/profile', [ProfileController::class, 'update'])->name('profile.update'); Route::delete('/profile', [ProfileController::class, 'destroy'])->name('profile.destroy');
|---|