ldc-legaulois/app/Http/Controllers/Bo/ProductPictogramsController.php

86 lines
2.4 KiB
PHP
Raw Normal View History

2020-07-24 11:21:38 +02:00
<?php
namespace App\Http\Controllers\Bo;
use App\Http\Controllers\Controller;
use App\Models\ProductPictograms;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Storage;
use Illuminate\Support\Str;
class ProductPictogramsController extends Controller
{
public function index()
{
2021-04-12 10:01:48 +02:00
$pp = ProductPictograms::paginate();
2020-07-24 11:21:38 +02:00
return view('bo.product-pictograms.index', compact('pp'));
}
public function create()
{
return view('bo.product-pictograms.create');
}
public function store(Request $request)
{
$name = $request->name;
$picture = $request->picture;
$request->validate([
'name' => 'required|max:50',
2021-05-07 15:16:20 +02:00
'picture' => 'required|image|mimes:jpeg,png,jpg|max:2048|dimensions:max-width=150,max-height=80',
2020-07-24 11:21:38 +02:00
]);
2021-03-20 14:38:15 +01:00
$imageName = Str::slug($name) . '.' . $picture->extension();
2021-02-16 17:32:51 +01:00
$picture->move(public_path('uploads/images/pictos/'), $imageName);
2020-07-24 11:21:38 +02:00
$pp = new ProductPictograms();
$pp->name = $name;
2021-02-16 17:32:51 +01:00
$pp->picture = 'uploads/images/pictos/' . $imageName;
2020-07-24 11:21:38 +02:00
$pp->save();
return redirect()->route('bo.product-pictograms.index');
}
public function edit($id)
{
$pp = ProductPictograms::findOrFail($id);
return view('bo.product-pictograms.edit', compact('pp'));
}
public function update(Request $request, $id)
{
$name = $request->name;
$picture = $request->picture;
$request->validate([
'name' => 'required|max:50',
2021-05-07 15:16:20 +02:00
'picture' => 'required|image|mimes:jpeg,png,jpg|max:2048|dimensions:max-width=150,max-height=80',
2020-07-24 11:21:38 +02:00
]);
2021-03-20 14:38:15 +01:00
$imageName = Str::slug($name) . '.' . $picture->extension();
2020-07-24 11:21:38 +02:00
$pp = ProductPictograms::findOrFail($id);
2021-02-16 17:32:51 +01:00
Storage::delete(public_path('uploads/images/pictos/') . $pp->picture);
$picture->move(public_path('uploads/images/pictos/'), $imageName);
2020-07-24 11:21:38 +02:00
2021-02-16 17:32:51 +01:00
$pp->picture = 'uploads/images/pictos/' . $imageName;
2020-07-24 11:21:38 +02:00
$pp->save();
2021-03-21 22:51:19 +01:00
return redirect()->route('bo.product-pictograms.edit', ['product_pictogram' => $pp->id])
->with('success', __('Enregistré !'));
2020-07-24 11:21:38 +02:00
}
public function destroy($id)
{
$pp = ProductPictograms::findOrFail($id);
$path = public_path() . '/' . $pp->picture;
2021-03-20 14:38:15 +01:00
if (file_exists($path)) {
2020-07-24 11:21:38 +02:00
unlink($path);
}
$pp->delete();
return redirect()->route('bo.product-pictograms.index');
}
}