Complete TP7 TP8 authentication authorization and classic CSS
This commit is contained in:
@@ -2,10 +2,11 @@
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use App\Models\Product;
|
||||
use App\Http\Requests\StoreProductRequest;
|
||||
use App\Http\Requests\UpdateProductRequest;
|
||||
use App\Models\Product;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Gate;
|
||||
|
||||
class ProductController extends Controller
|
||||
{
|
||||
@@ -31,12 +32,15 @@ class ProductController extends Controller
|
||||
// TP4 : les six autres actions complètent le CRUD des produits.
|
||||
public function create()
|
||||
{
|
||||
Gate::authorize('create', Product::class);
|
||||
|
||||
return view('products.create');
|
||||
}
|
||||
|
||||
// TP6 : seules les données validées par le Form Request sont enregistrées.
|
||||
public function store(StoreProductRequest $request)
|
||||
{
|
||||
Gate::authorize('create', Product::class);
|
||||
Product::create($request->validated());
|
||||
|
||||
return redirect()->route('products.index');
|
||||
@@ -44,16 +48,21 @@ class ProductController extends Controller
|
||||
|
||||
public function show(Product $product)
|
||||
{
|
||||
Gate::authorize('view', $product);
|
||||
|
||||
return view('products.show', compact('product'));
|
||||
}
|
||||
|
||||
public function edit(Product $product)
|
||||
{
|
||||
Gate::authorize('update', $product);
|
||||
|
||||
return view('products.edit', compact('product'));
|
||||
}
|
||||
|
||||
public function update(UpdateProductRequest $request, Product $product)
|
||||
{
|
||||
Gate::authorize('update', $product);
|
||||
$product->update($request->validated());
|
||||
|
||||
return redirect()->route('products.index');
|
||||
@@ -61,9 +70,10 @@ class ProductController extends Controller
|
||||
|
||||
public function destroy(Product $product)
|
||||
{
|
||||
// TP8 : la Policy réserve la suppression aux administrateurs.
|
||||
Gate::authorize('delete', $product);
|
||||
$product->delete();
|
||||
|
||||
return redirect()->route('products.index');
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user