84 lines
2.5 KiB
PHP
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é');
|
|
}
|
|
}
|