From 98ab8ef2d34129b5a290ca86b3ae2029ad067d8d Mon Sep 17 00:00:00 2001 From: Sebastien Hattry Date: Wed, 15 Dec 2021 18:17:17 +0100 Subject: [PATCH] Advice setting 1 --- app/Http/Controllers/Bo/AdvicesController.php | 42 +++++++++++ .../Controllers/Bo/PictoBrandsController.php | 1 + app/Http/Controllers/Bo/PictosController.php | 1 + app/Http/Requests/UpdateAdviceRequest.php | 36 ++++++++++ app/Models/Advice.php | 50 ++++++++++++++ app/Providers/AppServiceProvider.php | 63 +++++++++-------- config/bo.php | 3 + database/factories/AdviceFactory.php | 36 ++++++++++ database/factories/EncartFactory.php | 1 - ...2021_12_15_173936_create_advices_table.php | 38 ++++++++++ database/seeders/AdvicesSeeder.php | 19 +++++ database/seeders/DatabaseSeeder.php | 1 + database/seeders/TitlesSeeder.php | 7 ++ public/css/preload-back.css | 5 ++ resources/sass/_classes.scss | 7 +- resources/views/back/pictos/index.blade.php | 2 +- resources/views/back/posts/edit.blade.php | 69 +++++++++++++++++++ .../views/layouts/backend/sidenav.blade.php | 27 ++++++++ routes/web.php | 7 +- 19 files changed, 382 insertions(+), 33 deletions(-) create mode 100644 app/Http/Controllers/Bo/AdvicesController.php create mode 100644 app/Http/Requests/UpdateAdviceRequest.php create mode 100644 app/Models/Advice.php create mode 100644 database/factories/AdviceFactory.php create mode 100644 database/migrations/2021_12_15_173936_create_advices_table.php create mode 100644 database/seeders/AdvicesSeeder.php create mode 100644 resources/views/back/posts/edit.blade.php diff --git a/app/Http/Controllers/Bo/AdvicesController.php b/app/Http/Controllers/Bo/AdvicesController.php new file mode 100644 index 0000000..d6d9ac6 --- /dev/null +++ b/app/Http/Controllers/Bo/AdvicesController.php @@ -0,0 +1,42 @@ +fill($request->validated()); + + if (!$advice->saveOrFail()) { + return redirect()->route('bo.advices.edit', $advice->id) + ->with('error', trans('La modification a échoué')); + } + + return redirect()->route('bo.advices.edit', $advice->id) + ->with('success', trans('Modifications enregistrées !')); + } +} diff --git a/app/Http/Controllers/Bo/PictoBrandsController.php b/app/Http/Controllers/Bo/PictoBrandsController.php index 370f3cb..1f1b236 100644 --- a/app/Http/Controllers/Bo/PictoBrandsController.php +++ b/app/Http/Controllers/Bo/PictoBrandsController.php @@ -27,6 +27,7 @@ class PictoBrandsController extends Controller * @param PictoBrand $pictobrand * @return \Illuminate\Http\Response */ + // phpcs:ignore Generic.CodeAnalysis.UnusedFunctionParameter.FoundInExtendedClass public function create(PictoBrand $pictobrand) { return view('back.pictobrands.create', compact('pictobrand')); diff --git a/app/Http/Controllers/Bo/PictosController.php b/app/Http/Controllers/Bo/PictosController.php index 7537dd8..472e1a8 100644 --- a/app/Http/Controllers/Bo/PictosController.php +++ b/app/Http/Controllers/Bo/PictosController.php @@ -27,6 +27,7 @@ class PictosController extends Controller * @param Picto $picto * @return \Illuminate\Http\Response */ + // phpcs:ignore Generic.CodeAnalysis.UnusedFunctionParameter.FoundInExtendedClass public function create(Picto $picto) { return view('back.pictos.create', compact('picto')); diff --git a/app/Http/Requests/UpdateAdviceRequest.php b/app/Http/Requests/UpdateAdviceRequest.php new file mode 100644 index 0000000..0092dc5 --- /dev/null +++ b/app/Http/Requests/UpdateAdviceRequest.php @@ -0,0 +1,36 @@ +check(); + } + + /** + * Get the validation rules that apply to the request. + * + * @return array + */ + public function rules() + { + return [ + 'title1' => 'required|max:50', + 'title2' => 'required|max:50', + 'picture1' => 'required|image|mimes:jpeg,png,jpg|max:1024|dimensions:width=284,height=284', + 'picture2' => 'required|image|mimes:jpeg,png,jpg|max:1024|dimensions:width=284,height=284', + 'picture3' => 'required|image|mimes:jpeg,png,jpg|max:1024|dimensions:width=284,height=284', + 'text1' => 'required|max:2047', + 'text2' => 'required|max:2047', + ]; + } +} diff --git a/app/Models/Advice.php b/app/Models/Advice.php new file mode 100644 index 0000000..52540e4 --- /dev/null +++ b/app/Models/Advice.php @@ -0,0 +1,50 @@ +picture1) { + $advice->picture1 = Utils::storeImage($advice->picture1, $advice->getTable()); + } + if ($advice->picture2) { + $advice->picture2 = Utils::storeImage($advice->picture2, $advice->getTable()); + } + if ($advice->picture3) { + $advice->picture3 = Utils::storeImage($advice->picture3, $advice->getTable()); + } + }); + + static::updating(function (Advice $advice) { + if ($advice->picture1) { + $advice->picture1 = Utils::storeImage($advice->picture1, $advice->getTable()); + } + if ($advice->picture2) { + $advice->picture2 = Utils::storeImage($advice->picture2, $advice->getTable()); + } + if ($advice->picture3) { + $advice->picture3 = Utils::storeImage($advice->picture3, $advice->getTable()); + } + }); + parent::boot(); + } +} diff --git a/app/Providers/AppServiceProvider.php b/app/Providers/AppServiceProvider.php index cbe9361..21e6a6b 100644 --- a/app/Providers/AppServiceProvider.php +++ b/app/Providers/AppServiceProvider.php @@ -3,6 +3,7 @@ namespace App\Providers; use App\Enums\Page; +use App\Models\Advice; use App\Models\Encart; use App\Models\Picto; use App\Models\PictoBrand; @@ -29,40 +30,46 @@ class AppServiceProvider extends ServiceProvider */ public function boot() { - $encart_home = Encart::where('page', Page::home()->value)->first(); - $encart_marqueHeader = Encart::where('page', Page::marqueHeader()->value)->first(); - $encart_marqueBloc2 = Encart::where('page', Page::marqueBloc2()->value)->first(); - $encart_marqueBloc3 = Encart::where('page', Page::marqueBloc3()->value)->first(); - $encart_marqueBloc4l = Encart::where('page', Page::marqueBloc4l()->value)->first(); - $encart_marqueBloc4r = Encart::where('page', Page::marqueBloc4r()->value)->first(); - $encart_marqueFooter = Encart::where('page', Page::marqueFooter()->value)->first(); - $encart_food = Encart::where('page', Page::foodHeader()->value)->first(); + // $encart_home = Encart::where('page', Page::home()->value)->first(); + // $encart_marqueHeader = Encart::where('page', Page::marqueHeader()->value)->first(); + // $encart_marqueBloc2 = Encart::where('page', Page::marqueBloc2()->value)->first(); + // $encart_marqueBloc3 = Encart::where('page', Page::marqueBloc3()->value)->first(); + // $encart_marqueBloc4l = Encart::where('page', Page::marqueBloc4l()->value)->first(); + // $encart_marqueBloc4r = Encart::where('page', Page::marqueBloc4r()->value)->first(); + // $encart_marqueFooter = Encart::where('page', Page::marqueFooter()->value)->first(); + // $encart_food = Encart::where('page', Page::foodHeader()->value)->first(); - $pictobrands_marque = PictoBrand::all(); + // $pictobrands_marque = PictoBrand::all(); - $pictos_marqueBloc2 = Picto::where('page', Page::marqueBloc2()->value)->get(); - $pictos_food = Picto::where('page', Page::foodBloc2()->value)->get(); + // $advices_news = Advice::all()->first(); - $title_marqueBloc2 = Title::where('page', Page::marqueBloc2()->value)->first(); - $title_marqueBloc4 = Title::where('page', Page::marqueBloc4()->value)->first(); - $title_foodBloc2 = Title::where('page', Page::foodBloc2()->value)->first(); + // $pictos_marqueBloc2 = Picto::where('page', Page::marqueBloc2()->value)->get(); + // $pictos_food = Picto::where('page', Page::foodBloc2()->value)->get(); - View::share('encart_home', $encart_home); - View::share('encart_marqueHeader', $encart_marqueHeader); - View::share('encart_marqueBloc2', $encart_marqueBloc2); - View::share('encart_marqueBloc3', $encart_marqueBloc3); - View::share('encart_marqueBloc4l', $encart_marqueBloc4l); - View::share('encart_marqueBloc4r', $encart_marqueBloc4r); - View::share('encart_marqueFooter', $encart_marqueFooter); - View::share('encart_food', $encart_food); + // $title_marqueBloc2 = Title::where('page', Page::marqueBloc2()->value)->first(); + // $title_marqueBloc4 = Title::where('page', Page::marqueBloc4()->value)->first(); + // $title_foodBloc2 = Title::where('page', Page::foodBloc2()->value)->first(); + // $title_newsPosts = Title::where('page', Page::newsPosts()->value)->first(); - View::share('pictobrands_marque', $pictobrands_marque); + // View::share('encart_home', $encart_home); + // View::share('encart_marqueHeader', $encart_marqueHeader); + // View::share('encart_marqueBloc2', $encart_marqueBloc2); + // View::share('encart_marqueBloc3', $encart_marqueBloc3); + // View::share('encart_marqueBloc4l', $encart_marqueBloc4l); + // View::share('encart_marqueBloc4r', $encart_marqueBloc4r); + // View::share('encart_marqueFooter', $encart_marqueFooter); + // View::share('encart_food', $encart_food); - View::share('pictos_marqueBloc2', $pictos_marqueBloc2); - View::share('pictos_food', $pictos_food); + // View::share('pictobrands_marque', $pictobrands_marque); - View::share('title_marqueBloc2', $title_marqueBloc2); - View::share('title_marqueBloc4', $title_marqueBloc4); - View::share('title_foodBloc2', $title_foodBloc2); + // View::share('advices_news', $advices_news); + + // View::share('pictos_marqueBloc2', $pictos_marqueBloc2); + // View::share('pictos_food', $pictos_food); + + // View::share('title_marqueBloc2', $title_marqueBloc2); + // View::share('title_marqueBloc4', $title_marqueBloc4); + // View::share('title_foodBloc2', $title_foodBloc2); + // View::share('title_newsPosts', $title_newsPosts); } } diff --git a/config/bo.php b/config/bo.php index 3ebe734..f765e86 100644 --- a/config/bo.php +++ b/config/bo.php @@ -19,4 +19,7 @@ return [ 'picto_image_maxwidth' => '150', 'picto_image_maxheight' => '150', + 'advice_image_maxwidth' => '284', + 'advice_image_maxheight' => '284', + ]; diff --git a/database/factories/AdviceFactory.php b/database/factories/AdviceFactory.php new file mode 100644 index 0000000..e95a9e8 --- /dev/null +++ b/database/factories/AdviceFactory.php @@ -0,0 +1,36 @@ + $this->faker->text(20), + 'title2' => $this->faker->text(20), + 'picture1' => new SplFileInfo(resource_path('assets/images/repas.jpg')), + 'picture2' => new SplFileInfo(resource_path('assets/images/repas.jpg')), + 'picture3' => new SplFileInfo(resource_path('assets/images/repas.jpg')), + 'text1' => $this->faker->paragraph(10), + 'text2' => $this->faker->paragraph(10), + ]; + } +} diff --git a/database/factories/EncartFactory.php b/database/factories/EncartFactory.php index 24c626f..0c70509 100644 --- a/database/factories/EncartFactory.php +++ b/database/factories/EncartFactory.php @@ -2,7 +2,6 @@ namespace Database\Factories; -use App\Enums\Page; use App\Models\Encart; use Illuminate\Database\Eloquent\Factories\Factory; use SplFileInfo; diff --git a/database/migrations/2021_12_15_173936_create_advices_table.php b/database/migrations/2021_12_15_173936_create_advices_table.php new file mode 100644 index 0000000..5c44001 --- /dev/null +++ b/database/migrations/2021_12_15_173936_create_advices_table.php @@ -0,0 +1,38 @@ +id(); + $table->string('title1'); + $table->string('title2'); + $table->string('picture1')->nullable(); + $table->string('picture2')->nullable(); + $table->string('picture3')->nullable(); + $table->text('text1'); + $table->text('text2'); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('advices'); + } +} diff --git a/database/seeders/AdvicesSeeder.php b/database/seeders/AdvicesSeeder.php new file mode 100644 index 0000000..30c3aa3 --- /dev/null +++ b/database/seeders/AdvicesSeeder.php @@ -0,0 +1,19 @@ +create(); + } +} diff --git a/database/seeders/DatabaseSeeder.php b/database/seeders/DatabaseSeeder.php index 4049dcb..74e3794 100644 --- a/database/seeders/DatabaseSeeder.php +++ b/database/seeders/DatabaseSeeder.php @@ -22,6 +22,7 @@ class DatabaseSeeder extends Seeder PictoBrandsSeeder::class, TitlesSeeder::class, TextsSeeder::class, + AdvicesSeeder::class, ]); } } diff --git a/database/seeders/TitlesSeeder.php b/database/seeders/TitlesSeeder.php index d32447c..ad18afe 100644 --- a/database/seeders/TitlesSeeder.php +++ b/database/seeders/TitlesSeeder.php @@ -28,6 +28,13 @@ class TitlesSeeder extends Seeder $title->save(); + $title = new Title(); + $title->page = Page::newsPosts(); + $title->title = 'Actualités'; + $title->text = 'lorem ipsum'; + + $title->save(); + $title = new Title(); $title->page = Page::foodBloc2(); $title->title = 'Les avantges de Food Service'; diff --git a/public/css/preload-back.css b/public/css/preload-back.css index d7e5c12..79d2478 100644 --- a/public/css/preload-back.css +++ b/public/css/preload-back.css @@ -11,6 +11,11 @@ margin-right:100px; } +.white-png{ + background-color:#eeeeee !important; + text-align:center; +} + #sidebarTop{ height:3rem; } diff --git a/resources/sass/_classes.scss b/resources/sass/_classes.scss index 441cfa3..6b93a1e 100644 --- a/resources/sass/_classes.scss +++ b/resources/sass/_classes.scss @@ -9,4 +9,9 @@ #siteid { color: white; margin-right: 100px; -} \ No newline at end of file +} + +.white-png { + background-color: #eeeeee !important; + text-align: center; +} diff --git a/resources/views/back/pictos/index.blade.php b/resources/views/back/pictos/index.blade.php index 8dd90bd..9b9d9c3 100644 --- a/resources/views/back/pictos/index.blade.php +++ b/resources/views/back/pictos/index.blade.php @@ -22,7 +22,7 @@ @foreach ($pictos as $picto) @if ($picto->picture !== null) - + {{$picto->text}} @endif diff --git a/resources/views/back/posts/edit.blade.php b/resources/views/back/posts/edit.blade.php new file mode 100644 index 0000000..d1ec141 --- /dev/null +++ b/resources/views/back/posts/edit.blade.php @@ -0,0 +1,69 @@ +@extends('layouts.backend') + +@section('content') +
+ @method('PUT') + @csrf +
+

+ < {{ __('Présentation') }} {{ __('Edition') }}

+
+
+
+page->equals(\App\Enums\Page::marqueHeader()), \App\Enums\Page::toArray()); exit; +// dd($advice->page->equals(\App\Enums\Page::marqueHeader()), \App\Enums\Page::toValues()); exit; +?> +
+ + + @include('back.modules.input-error', ['inputName'=>'title1']) +
+
+ + + @include('back.modules.input-error', ['inputName'=>'text1']) +
+
+
+ + @if ($advice->picture1 !== null) +
+
+ {{$advice->title1}} + @endif + @include('back.modules.input-error', ['inputName'=>'picture1']) +
+
+ + + @include('back.modules.input-error', ['inputName'=>'title1']) +
+
+ + + @include('back.modules.input-error', ['inputName'=>'text1']) +
+
+
+ + @if ($advice->picture2 !== null) +
+
+ {{$advice->title2}} + @endif + @include('back.modules.input-error', ['inputName'=>'picture2']) +
+
+
+ + @if ($advice->picture3 !== null) +
+
+ {{$advice->title3}} + @endif + @include('back.modules.input-error', ['inputName'=>'picture3']) +
+
+@endsection diff --git a/resources/views/layouts/backend/sidenav.blade.php b/resources/views/layouts/backend/sidenav.blade.php index 69a8260..3c80b71 100644 --- a/resources/views/layouts/backend/sidenav.blade.php +++ b/resources/views/layouts/backend/sidenav.blade.php @@ -63,6 +63,33 @@ + {{-- PAGE ACTUALITES --}} +
+

+ +

+
+
+
+
{{ __('BLOC DES CONSEILS') }}
+ {{ __('Contenu') }} + {{ __('Questions/Réponses') }} +
+ + {{--
+
{{ __('LES AVANTAGES') }}
+ {{ __('Contenu') }} +
--}} +
+
+
{{-- PAGE FOOD SERVICE --}}

diff --git a/routes/web.php b/routes/web.php index 96cac0a..171ae4e 100644 --- a/routes/web.php +++ b/routes/web.php @@ -11,6 +11,7 @@ * phpcs:ignore PEAR.Commenting.FileComment.MissingVersion */ +use App\Http\Controllers\Bo\AdvicesController; use App\Http\Controllers\Bo\EncartsController; use App\Http\Controllers\Bo\HomeController; use App\Http\Controllers\Bo\PictoBrandsController; @@ -71,11 +72,13 @@ Route::prefix('bo') ] ); Route::resource('encarts', EncartsController::class) - ->except(['index', 'create', 'store', 'destroy']); + ->except(['index', 'create', 'store', 'destroy', 'show']); Route::resource('pictos', PictosController::class)->except(['show']); Route::resource('pictobrands', PictoBrandsController::class)->except(['show']); + Route::resource('posts', AdvicesController::class) + ->except(['index', 'create', 'store', 'destroy', 'show']); Route::resource('titles', TitlesController::class) - ->except(['index', 'create', 'store', 'destroy']); + ->except(['index', 'create', 'store', 'destroy', 'show']); Route::get( '/slide/change-order/{slide}/{action}', [