Complete TP7 TP8 authentication authorization and classic CSS

This commit is contained in:
2026-10-21 00:48:38 +02:00
parent 4a84a17cbf
commit ffe85d5f0d
101 changed files with 7643 additions and 110 deletions
@@ -2,10 +2,11 @@
namespace App\Http\Controllers;
use App\Models\Client;
use App\Http\Requests\StoreClientRequest;
use App\Http\Requests\UpdateClientRequest;
use App\Models\Client;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Gate;
class ClientController extends Controller
{
@@ -32,12 +33,15 @@ class ClientController extends Controller
// TP4 : formulaires et actions du CRUD (créer, voir, modifier, supprimer).
public function create()
{
Gate::authorize('create', Client::class);
return view('clients.create');
}
// TP6 : Laravel valide le Form Request avant d'appeler cette méthode.
public function store(StoreClientRequest $request)
{
Gate::authorize('create', Client::class);
Client::create($request->validated());
return redirect()->route('clients.index');
@@ -45,16 +49,21 @@ class ClientController extends Controller
public function show(Client $client)
{
Gate::authorize('view', $client);
return view('clients.show', compact('client'));
}
public function edit(Client $client)
{
Gate::authorize('update', $client);
return view('clients.edit', compact('client'));
}
public function update(UpdateClientRequest $request, Client $client)
{
Gate::authorize('update', $client);
$client->update($request->validated());
return redirect()->route('clients.index');
@@ -62,9 +71,10 @@ class ClientController extends Controller
public function destroy(Client $client)
{
// TP8 : la Policy refuse cette action aux comptes non administrateurs.
Gate::authorize('delete', $client);
$client->delete();
return redirect()->route('clients.index');
}
}