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

84 lines
2.5 KiB
PHP

<?php
namespace App\Http\Controllers\Bo;
use App\Http\Controllers\Controller;
use App\Http\Requests\StoreBreederPortrait;
use App\Http\Requests\UpdateBreederPortrait;
use App\Models\BreederPortrait;
use App\Traits\UpdateModelStatus;
use Illuminate\Support\Facades\Storage;
class BreederPortraitController extends Controller
{
use UpdateModelStatus;
public function index()
{
$breederportraits = BreederPortrait::paginate();
return view('bo.breederportraits.index', compact('breederportraits'));
}
public function create()
{
return view('bo.breederportraits.create');
}
public function store(StoreBreederPortrait $request)
{
$breederportrait = new BreederPortrait();
$breederportrait->fill($request->validated());
$file = $request->file('picture');
$fileName = sprintf(
'%s-portrait-eleveur.%s',
time(),
$file->extension()
);
$breederportrait->picture = $file->storeAs('images/portraits_eleveurs', $fileName, 'public');
$breederportrait->saveOrFail();
return redirect()->route('bo.breederportraits.edit', ['breederportrait' => $breederportrait])
->with('success', trans('Enregistré !'));
}
public function edit(BreederPortrait $breederportrait)
{
return view('bo.breederportraits.edit', [
'breederportrait' => $breederportrait
]);
}
public function update(UpdateBreederPortrait $request, BreederPortrait $breederportrait)
{
$breederportrait->fill($request->validated());
if ($request->has('picture')) {
$file = $request->file('picture');
$fileName = sprintf(
'%s-portrait-eleveur.%s',
time(),
$file->extension()
);
$breederportrait->picture = $file->storeAs('images/portraits_eleveurs', $fileName, 'public');
}
$breederportrait->saveOrFail();
return redirect()->route('bo.breederportraits.edit', ['breederportrait' => $breederportrait])
->with('success', trans('Enregistré !'));
}
public function destroy(BreederPortrait $breederportrait)
{
if ($breederportrait->picture) {
Storage::disk('public')->delete($breederportrait->picture);
}
$breederportrait->delete();
return redirect()->route('bo.breederportraits.index')
->with('warning', 'Le contenu à bien été supprimé');
}
}