ldc-legaulois/app/Http/Controllers/Bo/ConsumptionTimesController.php
Jérémy Munsch d81e4df777 - Introduce Flash Message to refactorize code
- npm i sweetalert2 --save-dev
- create confirm module
- replace all natives confirm with sweet alert
2021-09-18 12:21:21 +02:00

98 lines
2.4 KiB
PHP

<?php
namespace App\Http\Controllers\Bo;
use App\Http\Controllers\Controller;
use App\Models\ConsumptionTimes;
use App\Models\Products;
use App\Traits\UpdateModelStatus;
use Illuminate\Http\Request;
use Illuminate\Support\Str;
class ConsumptionTimesController extends Controller
{
use UpdateModelStatus;
public function index()
{
$ct = ConsumptionTimes::paginate();
return view('bo.consumption-times.index', compact('ct'));
}
public function create()
{
return view('bo.consumption-times.create');
}
public function store(Request $request)
{
$name = $request->name;
$slug = Str::slug($name);
$status = $request->status;
$request->validate([
'name' => 'required|max:50',
]);
if ($status !== "1") {
$status = 0;
}
$ct = new ConsumptionTimes();
$ct->name = $name;
$ct->slug = $slug;
$ct->status = $status;
$ct->save();
return redirect()->route('bo.consumption-times.index');
}
public function edit($id)
{
$ct = ConsumptionTimes::findOrFail($id);
return view('bo.consumption-times.edit', compact('ct'));
}
public function update(Request $request, $id)
{
$name = $request->name;
$slug = Str::slug($name);
$status = $request->status;
$request->validate([
'name' => 'required|max:50',
]);
if ($status !== "1") {
$status = 0;
}
$ct = ConsumptionTimes::findOrFail($id);
$ct->name = $name;
$ct->slug = $slug;
$ct->status = $status;
$ct->save();
return redirect()->route(
'bo.consumption-times.edit',
['consumption_time' => $ct->id]
)->with('success', 'Enregistré !');
}
public function destroy($id)
{
$pExist = Products::where('moment_id', $id)->exists();
if (!$pExist) {
$ct = ConsumptionTimes::findOrFail($id);
$ct->delete();
} else {
return redirect()->back()
->withErrors(
'Le moment consommation que vous souhaitez supprimer est encore lié à un ou plusieurs produit(s).'
);
}
return redirect()->route('bo.consumption-times.index')
->with('warning', 'Le contenu à bien été supprimé');
}
}