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

92 lines
2.2 KiB
PHP
Raw Normal View History

2020-07-23 17:06:19 +02:00
<?php
namespace App\Http\Controllers\Bo;
use App\Http\Controllers\Controller;
use App\Models\ConsumptionTimes;
use App\Models\Products;
2021-04-28 13:57:12 +02:00
use App\Traits\UpdateModelStatus;
2020-07-23 17:06:19 +02:00
use Illuminate\Http\Request;
use Illuminate\Support\Str;
2020-07-23 17:06:19 +02:00
class ConsumptionTimesController extends Controller
{
2021-04-28 13:57:12 +02:00
use UpdateModelStatus;
2020-07-23 17:06:19 +02:00
public function index()
{
2021-04-12 10:01:48 +02:00
$ct = ConsumptionTimes::paginate();
2020-07-23 17:06:19 +02:00
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);
2020-07-23 17:06:19 +02:00
$status = $request->status;
$request->validate([
'name' => 'required|max:50',
]);
2021-03-20 14:38:15 +01:00
if ($status !== "1") {
2020-07-23 17:06:19 +02:00
$status = 0;
2021-03-20 14:38:15 +01:00
}
2020-07-23 17:06:19 +02:00
$ct = new ConsumptionTimes();
$ct->name = $name;
$ct->slug = $slug;
2020-07-23 17:06:19 +02:00
$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);
2020-07-23 17:06:19 +02:00
$status = $request->status;
$request->validate([
'name' => 'required|max:50',
]);
2021-03-20 14:38:15 +01:00
if ($status !== "1") {
2020-07-23 17:06:19 +02:00
$status = 0;
2021-03-20 14:38:15 +01:00
}
2020-07-23 17:06:19 +02:00
$ct = ConsumptionTimes::findOrFail($id);
$ct->name = $name;
$ct->slug = $slug;
2020-07-23 17:06:19 +02:00
$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).');
}
2020-07-23 17:06:19 +02:00
return redirect()->route('bo.consumption-times.index');
}
}