ldc-legaulois/app/Http/Controllers/Bo/HealthNutritionController.php
Jérémy Munsch 47144bbf7e
Modification Lot 2 page Santé nutrition
- suppression des 4 pages
- ajout de 2 nouvelle pages
- redirection des anciennes pages vers le nouvelles
- Le nouvelle page ne sont plus statiques (basés sur engagement)
- Ajout du Model NutritionPage
- Ajout des Enums NutritionBlocType, NutritionType
- Intégration complete avec responsive des deux nouvelles pages
- modification des composants vu pour créer une instance de Vuejs par composant existant pour ajouter et enlever des dropdowns
- Suppression des balanced menus
- fix login center image
- Modification de l'intégration de CKeditor
- Ajout de UploadController avec methode pour image
- html purifier fix config using ckeditor
- ckeditor set css base style on front and back (for nutrition pages on front)
2021-10-03 12:39:08 +02:00

56 lines
1.7 KiB
PHP

<?php
namespace App\Http\Controllers\Bo;
use App\Enums\InputType;
use App\Http\Controllers\Controller;
use App\Http\Requests\UpdateNutritionPageRequest;
use App\Models\NutritionPage;
use App\Traits\UpdateModelStatus;
class HealthNutritionController extends Controller
{
use UpdateModelStatus;
public function index()
{
$pages = NutritionPage::paginate();
return view('bo.health-nutrition.index', compact('pages'));
}
public function edit(NutritionPage $page)
{
return view('bo.health-nutrition.edit', ['page' => $page]);
}
public function update(UpdateNutritionPageRequest $request, NutritionPage $page)
{
$page->fill(array_replace_recursive(
$this->clearImagesLabelsDropdownsArrays($page->toArray()),
$request->validated()
));
$page->saveOrFail();
return redirect()->route('bo.nutrition-page.edit', $page)
->with('success', 'Enregistré !');
}
private function clearImagesLabelsDropdownsArrays(array $page): array
{
foreach ($page['content'] as &$block) {
if (isset($block['content'])) {
foreach ($block['content'] as &$input) {
if ($input['inputType']['value'] === InputType::imageArray()->value) {
$input['value'] = [];
}
if ($input['inputType']['value'] === InputType::labelArray()->value) {
$input['value'] = [];
}
if ($input['inputType']['value'] === InputType::dropdownArray()->value) {
$input['value'] = [];
}
}
}
}
return $page;
}
}