ldc-legaulois/app/Http/Controllers/Bo/ConsumptionTimesController.php
2021-04-28 13:57:12 +02:00

91 lines
2.2 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');
}
}