ldc-boutique-cnc/app/Http/Controllers/Bo/CreneauxController.php
Olivier Legat 6052dd2fd2 creneaux et exceptions liées à un point de retrait
BO, et selection en front
2021-04-22 18:18:52 +02:00

66 lines
2.3 KiB
PHP

<?php
namespace App\Http\Controllers\Bo;
use App\Http\Controllers\Controller;
use App\Models\Magasin;
use App\Models\TimeslotSetting;
use App\Models\Setting;
use Illuminate\Http\Request;
class CreneauxController extends Controller
{
public function settings(Request $request,$id)
{
$magasin = Magasin::findOrFail($id);
$timeslotSettings = $magasin->timeslotSettings;
if ($timeslotSettings->count() === 0) {
//Aucun settings pour ce magasin
$timeslotSettings = $this->makeCreneauxSettings($id);
}
$plage_days = Setting::where('key', 'order_withdrawal_period')->firstOrFail()->value;
return view('bo.creneaux.settings', compact('timeslotSettings', 'plage_days', 'magasin'));
}
public function makeCreneauxSettings($id) {
for ($i=0;$i<7;$i++) {
$dayset = new TimeslotSetting();
$dayset->magasin_id = $id;
$dayset->day_index = ''.$i;
$dayset->save();
}
return Magasin::findOrFail($id)->timeslotSettings;
}
public function updateSettings(Request $request,$id)
{
$plage = $request->plage;
$plage_days = $request->plage_days;
$magasin_id = $id;
foreach($plage as $index => $day) {
$setting = TimeslotSetting::where('day_index', ''.$index)
->where('magasin_id', $magasin_id)
->firstOrFail();
//$setting->magasin_id = $magasin_id; ne doit pas changer
$setting->morning_start = $day['morning_start'];
$setting->morning_end = $day['morning_end'];
$setting->afternoon_start = $day['afternoon_start'];
$setting->afternoon_end = $day['afternoon_end'];
$setting->interval = $day['interval'];
$setting->max_orders_per_interval = $day['max_orders_per_interval'];
$setting->min_order_preparation = $day['min_order_preparation'];
$setting->save();
}
$order_withdrawal_period = Setting::where('key','order_withdrawal_period')->firstOrFail();
$order_withdrawal_period->value = $plage_days;
$order_withdrawal_period->save();
return redirect()->route('bo.creneaux.settings', $magasin_id)->with('success', 'Modifications enregistrées !');
}
}