ldc-boutique-cnc/app/Http/Controllers/Bo/GeneralConfigController.php
2023-03-13 14:34:35 +01:00

51 lines
1.6 KiB
PHP

<?php
namespace App\Http\Controllers\Bo;
use App\Http\Controllers\Controller;
use App\Http\Requests\Bo\UpdateGeneralConfigRequest;
use App\Models\Site\GeneralConfig;
class GeneralConfigController extends Controller
{
/**
* General config index
*
* @return \Illuminate\Contracts\View\View|\Illuminate\Contracts\View\Factory
*/
public function index()
{
/** @var \Illuminate\Pagination\LengthAwarePaginator $configList */
$configList = GeneralConfig::query()->where('data', '!=', '[]')->paginate();
return view('back::pages.general-configs.index', compact('configList'));
}
/**
* Edit general config
*
* @param \App\Models\Site\GeneralConfig $config
* @return \Illuminate\Contracts\View\View|\Illuminate\Contracts\View\Factor
*/
public function edit(GeneralConfig $config)
{
return view('back::pages.general-configs.edit', ['config' => $config]);
}
/**
* Update General
*
* @param \App\Http\Requests\UpdateGeneralConfigRequest $request
* @param \App\Models\Site\GeneralConfig $config
* @return voi\Illuminate\Http\RedirectResponse
*/
public function update(UpdateGeneralConfigRequest $request, GeneralConfig $config)
{
$config->fill(array_replace_recursive(
\json_decode(\json_encode($config->toArray()), true),
$request->validated()
));
$config->saveOrFail();
return redirect()->route('bo.general_configs.edit', $config)
->with('bo.success', 'Enregistré !');
}
}