ldc-legaulois/app/Http/Controllers/Bo/LabelController.php
2022-02-10 16:14:58 +01:00

58 lines
1.5 KiB
PHP

<?php
namespace App\Http\Controllers\Bo;
use App\Http\Controllers\Controller;
use App\Http\Requests\StoreLabel;
use App\Http\Requests\UpdateLabel;
use App\Models\Label;
use App\Traits\UpdateModelStatus;
class LabelController extends Controller
{
use UpdateModelStatus;
public function index()
{
$labels = Label::paginate();
return view('bo.labels.index', compact('labels'));
}
public function create()
{
return view('bo.labels.create');
}
public function store(StoreLabel $request)
{
(new Label($request->validated()))->saveOrFail();
return redirect()->route('bo.labels.index');
}
// phpcs:ignore Generic.CodeAnalysis.UnusedFunctionParameter.FoundInExtendedClass
public function edit(Label $label)
{
return view('bo.labels.edit', compact('label'));
}
public function update(UpdateLabel $request, Label $label)
{
$label->fill($request->validated());
$label->saveOrFail();
return redirect()->route('bo.labels.edit', $label)
->with('success', trans('Enregistré !'));
}
public function destroy(Label $label)
{
if ($label->products()->count()) {
return redirect()->route('bo.labels.edit', $label)
->withErrors([trans('Vous ne pouvez supprimer un types ce label car des produits y sont associés')]);
}
$label->delete();
return redirect()->route('bo.labels.index')
->with('warning', trans('Le contenu à bien été supprimé'));
}
}