From 62527924c78ea1405708df5f8dddd9cd09f0f8de Mon Sep 17 00:00:00 2001 From: Sebastien Hattry Date: Mon, 13 Dec 2021 16:55:12 +0100 Subject: [PATCH] Picto settings and others --- app/Enums/Page.php | 12 +- .../Controllers/Bo/EncartArgsController.php | 64 +++++ app/Http/Controllers/Bo/EncartsController.php | 37 +-- app/Http/Controllers/Bo/HomeController.php | 7 +- .../Controllers/Bo/PictoBrandsController.php | 42 ++++ app/Http/Controllers/Bo/PictosController.php | 42 ++++ app/Http/Controllers/Bo/SlidersController.php | 25 +- app/Http/Controllers/Bo/SlidesController.php | 23 +- app/Http/Controllers/Bo/TitlesController.php | 42 ++++ app/Http/Controllers/ContactController.php | 64 ----- app/Http/Controllers/HomeController.php | 6 +- app/Http/Requests/ContactFormRequest.php | 60 ----- app/Http/Requests/UpdateEncartRequest.php | 8 +- app/Http/Requests/UpdatePictoBrandRequest.php | 32 +++ app/Http/Requests/UpdatePictoRequest.php | 31 +++ app/Http/Requests/UpdateTitleRequest.php | 31 +++ app/Models/Encart.php | 4 +- app/Models/Picto.php | 40 +++ app/Models/PictoBrand.php | 33 +++ app/Models/Title.php | 23 ++ app/Models/User.php | 4 +- app/Providers/AppServiceProvider.php | 29 ++- composer.json | 3 +- composer.lock | 238 +++++++++++++++++- config/app.php | 3 + database/factories/PictoBrandFactory.php | 32 +++ database/factories/PictoFactory.php | 30 +++ database/factories/SliderFactory.php | 4 +- database/factories/TitleFactory.php | 30 +++ .../2021_12_10_140929_create_pictos_table.php | 34 +++ ...12_10_143830_create_picto_brands_table.php | 34 +++ .../2021_12_10_150259_create_titles_table.php | 34 +++ database/seeders/DatabaseSeeder.php | 3 + database/seeders/EncartsSeeder.php | 2 +- database/seeders/PictoBrandsSeeder.php | 19 ++ database/seeders/PictosSeeder.php | 37 +++ database/seeders/TitlesSeeder.php | 31 +++ phpcs.xml | 1 + resources/views/back/encarts/edit.blade.php | 9 +- .../views/back/modules/message.blade.php | 20 +- resources/views/back/pictos/edit.blade.php | 96 +++++++ resources/views/back/titles/edit.blade.php | 29 +++ resources/views/front/a-propos.blade.php | 37 ++- resources/views/front/food-service.blade.php | 11 +- resources/views/layouts/backend.blade.php | 4 + .../views/layouts/backend/sidenav.blade.php | 67 ++++- routes/web.php | 41 +-- 47 files changed, 1237 insertions(+), 271 deletions(-) create mode 100644 app/Http/Controllers/Bo/EncartArgsController.php create mode 100644 app/Http/Controllers/Bo/PictoBrandsController.php create mode 100644 app/Http/Controllers/Bo/PictosController.php create mode 100644 app/Http/Controllers/Bo/TitlesController.php delete mode 100644 app/Http/Controllers/ContactController.php delete mode 100644 app/Http/Requests/ContactFormRequest.php create mode 100644 app/Http/Requests/UpdatePictoBrandRequest.php create mode 100644 app/Http/Requests/UpdatePictoRequest.php create mode 100644 app/Http/Requests/UpdateTitleRequest.php create mode 100644 app/Models/Picto.php create mode 100644 app/Models/PictoBrand.php create mode 100644 app/Models/Title.php create mode 100644 database/factories/PictoBrandFactory.php create mode 100644 database/factories/PictoFactory.php create mode 100644 database/factories/TitleFactory.php create mode 100644 database/migrations/2021_12_10_140929_create_pictos_table.php create mode 100644 database/migrations/2021_12_10_143830_create_picto_brands_table.php create mode 100644 database/migrations/2021_12_10_150259_create_titles_table.php create mode 100644 database/seeders/PictoBrandsSeeder.php create mode 100644 database/seeders/PictosSeeder.php create mode 100644 database/seeders/TitlesSeeder.php create mode 100644 resources/views/back/pictos/edit.blade.php create mode 100644 resources/views/back/titles/edit.blade.php diff --git a/app/Enums/Page.php b/app/Enums/Page.php index 17d6187..62ef946 100644 --- a/app/Enums/Page.php +++ b/app/Enums/Page.php @@ -6,7 +6,10 @@ use Kwaadpepper\Enum\BaseEnumRoutable; /** * @method static self home() - * @method static self marque() + * @method static self marque1() + * @method static self marque2() + * @method static self marque3() + * @method static self marque4() * @method static self food() */ class Page extends BaseEnumRoutable @@ -15,8 +18,11 @@ class Page extends BaseEnumRoutable { return [ 'home' => 0, - 'marque' => 1, - 'food' => 2, + 'marque1' => 1, + 'marque2' => 2, + 'marque3' => 3, + 'marque4' => 4, + 'food' => 5, ]; } } diff --git a/app/Http/Controllers/Bo/EncartArgsController.php b/app/Http/Controllers/Bo/EncartArgsController.php new file mode 100644 index 0000000..4802f0c --- /dev/null +++ b/app/Http/Controllers/Bo/EncartArgsController.php @@ -0,0 +1,64 @@ +fill($request->validated()); + + if (!$encartarg->saveOrFail()) { + return redirect()->route('bo.encartargs.edit', $encartarg->id) + ->with('error', trans('La modification a échoué')); + } + + return redirect()->route('bo.encartargs.edit', $encartarg->id) + ->with('success', trans('Modifications enregistrées !')); + } + + /** + * Remove the specified resource from storage. + * + * @param int $id + * @return \Illuminate\Http\Response + */ + public function destroy($id) + { + // + } +} diff --git a/app/Http/Controllers/Bo/EncartsController.php b/app/Http/Controllers/Bo/EncartsController.php index 9374ce8..7dff8b9 100644 --- a/app/Http/Controllers/Bo/EncartsController.php +++ b/app/Http/Controllers/Bo/EncartsController.php @@ -2,57 +2,28 @@ namespace App\Http\Controllers\Bo; -use App\Enums\Page; use App\Http\Controllers\Controller; -use App\Http\Requests\StoreEncartRequest; use App\Http\Requests\UpdateEncartRequest; use App\Models\Encart; class EncartsController extends Controller { - - /** - * Store a newly created resource in storage. - * - * @param \Illuminate\Http\Request $request - * @return \Illuminate\Http\Response - */ - public function store(StoreEncartRequest $request) - { - // - } - - /** - * Display the specified resource. - * - * @param int $id - * @return \Illuminate\Http\Response - */ - public function show($id) - { - // - } - /** * Show the form for editing the specified resource. * - * @param int $id + * @param Encart $encart * @return \Illuminate\Http\Response */ public function edit(Encart $encart) { - $encart_home = Encart::where('page', Page::home()->value)->first(); - $encart_marque = Encart::where('page', Page::marque()->value)->first(); - $encart_food = Encart::where('page', Page::food()->value)->first(); - - return view('back.encarts.edit', compact('encart', 'encart_home', 'encart_marque', 'encart_food')); + return view('back.encarts.edit', compact('encart')); } /** * Update the specified resource in storage. * - * @param \Illuminate\Http\Request $request - * @param int $id + * @param Encart $encart + * @param \Illuminate\Http\UpdateEncartRequest $request * @return \Illuminate\Http\Response */ public function update(Encart $encart, UpdateEncartRequest $request) diff --git a/app/Http/Controllers/Bo/HomeController.php b/app/Http/Controllers/Bo/HomeController.php index df839a5..cc0478a 100644 --- a/app/Http/Controllers/Bo/HomeController.php +++ b/app/Http/Controllers/Bo/HomeController.php @@ -5,6 +5,7 @@ namespace App\Http\Controllers\Bo; use App\Enums\Page; use App\Http\Controllers\Controller; use App\Models\Encart; +use App\Models\EncartArg; class HomeController extends Controller { @@ -12,10 +13,6 @@ class HomeController extends Controller public function home() { - $encart_home = Encart::where('page', Page::home()->value)->first(); - $encart_marque = Encart::where('page', Page::marque()->value)->first(); - $encart_food = Encart::where('page', Page::food()->value)->first(); - - return view('back.home', compact('encart_home', 'encart_marque', 'encart_food')); + return view('back.home'); } } diff --git a/app/Http/Controllers/Bo/PictoBrandsController.php b/app/Http/Controllers/Bo/PictoBrandsController.php new file mode 100644 index 0000000..abb92af --- /dev/null +++ b/app/Http/Controllers/Bo/PictoBrandsController.php @@ -0,0 +1,42 @@ +fill($request->validated()); + + if (!$pictobrand->saveOrFail()) { + return redirect()->route('bo.pictobrands.edit', $pictobrand->id) + ->with('error', trans('La modification a échoué')); + } + + return redirect()->route('bo.pictobrands.edit', $pictobrand->id) + ->with('success', trans('Modifications enregistrées !')); + } +} diff --git a/app/Http/Controllers/Bo/PictosController.php b/app/Http/Controllers/Bo/PictosController.php new file mode 100644 index 0000000..e1b656d --- /dev/null +++ b/app/Http/Controllers/Bo/PictosController.php @@ -0,0 +1,42 @@ +fill($request->validated()); + + if (!$picto->saveOrFail()) { + return redirect()->route('bo.pictos.edit', $picto->id) + ->with('error', trans('La modification a échoué')); + } + + return redirect()->route('bo.pictos.edit', $picto->id) + ->with('success', trans('Modifications enregistrées !')); + } +} diff --git a/app/Http/Controllers/Bo/SlidersController.php b/app/Http/Controllers/Bo/SlidersController.php index 3ed2a09..da6a5ca 100644 --- a/app/Http/Controllers/Bo/SlidersController.php +++ b/app/Http/Controllers/Bo/SlidersController.php @@ -2,11 +2,9 @@ namespace App\Http\Controllers\Bo; -use App\Enums\Page; use App\Http\Controllers\Controller; use App\Http\Requests\StoreSliderRequest; use App\Http\Requests\UpdateSliderRequest; -use App\Models\Encart; use App\Models\Slider; class SlidersController extends Controller @@ -19,16 +17,14 @@ class SlidersController extends Controller public function index() { $sliders = Slider::all(); - $encart_home = Encart::where('page', Page::home()->value)->first(); - $encart_marque = Encart::where('page', Page::marque()->value)->first(); - $encart_food = Encart::where('page', Page::food()->value)->first(); - return view('back.sliders.index', compact('sliders', 'encart_home', 'encart_marque', 'encart_food')); + return view('back.sliders.index', compact('sliders')); } /** * Show the form for creating a new resource. * + * @param Slider $slider * @return \Illuminate\Http\Response */ public function create(Slider $slider) @@ -39,13 +35,12 @@ class SlidersController extends Controller /** * Store a newly created resource in storage. * - * @param \Illuminate\Http\Request $request + * @param \Illuminate\Http\StoreSliderRequest $request * @return \Illuminate\Http\Response */ public function store(StoreSliderRequest $request) { $slider = new Slider($request->validated()); - // $slider->page = Page::home(); if (!$slider->saveOrFail()) { return redirect()->route('bo.sliders.edit', $slider->id)->with('error', 'Le slider n\'a pas été crée'); @@ -67,23 +62,19 @@ class SlidersController extends Controller /** * Show the form for editing the specified resource. * - * @param int $id + * @param Slider $slider * @return \Illuminate\Http\Response */ public function edit(Slider $slider) { - $encart_home = Encart::where('page', Page::home()->value)->first(); - $encart_marque = Encart::where('page', Page::marque()->value)->first(); - $encart_food = Encart::where('page', Page::food()->value)->first(); - - return view('back.sliders.edit', compact('slider', 'encart_home', 'encart_marque', 'encart_food')); + return view('back.sliders.edit', compact('slider')); } /** * Update the specified resource in storage. * - * @param \Illuminate\Http\Request $request - * @param int $id + * @param \Illuminate\Http\UpdateSliderRequest $request + * @param Slider $slider * @return \Illuminate\Http\Response */ public function update(UpdateSliderRequest $request, Slider $slider) @@ -100,7 +91,7 @@ class SlidersController extends Controller /** * Remove the specified resource from storage. * - * @param int $id + * @param Slider $slider * @return \Illuminate\Http\Response */ public function destroy(Slider $slider) diff --git a/app/Http/Controllers/Bo/SlidesController.php b/app/Http/Controllers/Bo/SlidesController.php index b60b498..f8d8cd7 100644 --- a/app/Http/Controllers/Bo/SlidesController.php +++ b/app/Http/Controllers/Bo/SlidesController.php @@ -2,14 +2,10 @@ namespace App\Http\Controllers\Bo; -use App\Enums\Page; use App\Http\Controllers\Controller; use App\Http\Requests\StoreSlideRequest; -use App\Lib\Utils; -use App\Models\Encart; use App\Models\Slide; use App\Models\Slider; -use Illuminate\Support\Str; class SlidesController extends Controller { @@ -21,16 +17,14 @@ class SlidesController extends Controller public function index() { $slides = Slide::orderBy('order', 'ASC')->get(); - $encart_home = Encart::where('page', Page::home()->value)->first(); - $encart_marque = Encart::where('page', Page::marque()->value)->first(); - $encart_food = Encart::where('page', Page::food()->value)->first(); - return view('back.slides.index', compact('slides', 'encart_home', 'encart_marque', 'encart_food')); + return view('back.slides.index', compact('slides')); } /** * Show the form for creating a new resource. * + * @param Slide $slide * @return \Illuminate\Http\Response */ public function create(Slide $slide) @@ -42,7 +36,7 @@ class SlidesController extends Controller /** * Store a newly created resource in storage. * - * @param \Illuminate\Http\Request $request + * @param \Illuminate\Http\StoreSlideRequest $request * @return \Illuminate\Http\Response */ public function store(StoreSlideRequest $request) @@ -70,24 +64,21 @@ class SlidesController extends Controller /** * Show the form for editing the specified resource. * - * @param int $id + * @param Slide $slide * @return \Illuminate\Http\Response */ public function edit(Slide $slide) { $sliders = Slider::all(); - $encart_home = Encart::where('page', Page::home()->value)->first(); - $encart_marque = Encart::where('page', Page::marque()->value)->first(); - $encart_food = Encart::where('page', Page::food()->value)->first(); - return view('back.slides.edit', compact('slide', 'sliders', 'encart_home', 'encart_marque', 'encart_food')); + return view('back.slides.edit', compact('slide', 'sliders')); } /** * Update the specified resource in storage. * - * @param \Illuminate\Http\Request $request - * @param int $id + * @param \Illuminate\Http\StoreSlideRequest $request + * @param Slide $slide * @return \Illuminate\Http\Response */ public function update(StoreSlideRequest $request, Slide $slide) diff --git a/app/Http/Controllers/Bo/TitlesController.php b/app/Http/Controllers/Bo/TitlesController.php new file mode 100644 index 0000000..ba6a161 --- /dev/null +++ b/app/Http/Controllers/Bo/TitlesController.php @@ -0,0 +1,42 @@ +fill($request->validated()); + + if (!$title->saveOrFail()) { + return redirect()->route('bo.titles.edit', $title->id) + ->with('error', trans('La modification a échoué')); + } + + return redirect()->route('bo.titles.edit', $title->id) + ->with('success', trans('Modifications enregistrées !')); + } +} diff --git a/app/Http/Controllers/ContactController.php b/app/Http/Controllers/ContactController.php deleted file mode 100644 index 2379036..0000000 --- a/app/Http/Controllers/ContactController.php +++ /dev/null @@ -1,64 +0,0 @@ - - * @license http://url.com MIT - * @link http://url.com - * phpcs:ignore PEAR.Commenting.FileComment.MissingVersion - */ - -namespace App\Http\Controllers; - -use Illuminate\Http\Request; -use App\Http\Requests\ContactFormRequest; -use App\Mail\SendContactMail; -use Illuminate\Support\Facades\Mail; - -/** - * Undocumented class - * - * @category Description - * @package Category - * @author Name - * @license http://url.com MIT - * @link http://url.com - */ -class ContactController extends Controller -{ - /** - * Undocumented function - * - * @param Request $request La requete - * - * @return void - */ - public function contact(Request $request) - { - $status = $request->session()->get('status'); - - return view('front.contact', compact('status')); - } - - /** - * Undocumented function - * - * @param ContactFormRequest $request La requete - * - * @return void - */ - public function contactSubmit(ContactFormRequest $request) - { - $data = $request->all(); - - $toMail = env('MAIL_LIST_CONTACTFORM', config('mail.from.address')); - //envoi du mail d'alerte - Mail::to($toMail) - ->send(new SendContactMail($request)); - - return back()->with('status', true); - } -} diff --git a/app/Http/Controllers/HomeController.php b/app/Http/Controllers/HomeController.php index 6602c03..8fd6dd7 100644 --- a/app/Http/Controllers/HomeController.php +++ b/app/Http/Controllers/HomeController.php @@ -4,6 +4,7 @@ namespace App\Http\Controllers; use App\Enums\Page; use App\Models\Encart; +use App\Models\EncartArg; use App\Models\Slider; use Illuminate\Http\Request; @@ -12,10 +13,7 @@ class HomeController extends Controller public function index() { $slider = Slider::where('published', 1)->first(); - $encart_home = Encart::where('page', Page::home()->value)->first(); - $encart_marque = Encart::where('page', Page::marque()->value)->first(); - $encart_food = Encart::where('page', Page::food()->value)->first(); - return view('front.home', compact('slider', 'encart_home', 'encart_marque', 'encart_food')); + return view('front.home', compact('slider')); } } diff --git a/app/Http/Requests/ContactFormRequest.php b/app/Http/Requests/ContactFormRequest.php deleted file mode 100644 index 294e79d..0000000 --- a/app/Http/Requests/ContactFormRequest.php +++ /dev/null @@ -1,60 +0,0 @@ - 'required|in:monsieur,madame', - 'name' => 'required|min:2', - 'lastname' => 'required|min:2', - 'address' => 'required|max:255', - 'postcode' => 'required', - 'city' => 'required|string|max:255', - 'phone' => 'required|max:255', - 'email' => 'required|email:rfc,dns,spoof|max:255', - 'topic' => 'required', - 'product_name' => 'required_if:topic,Réclamation|max:255', - 'barcode' => 'required_if:topic,Réclamation|max:128', - 'shop' => 'required_if:topic,Réclamation|max:255', - 'lot' => 'required_if:topic,Réclamation|max:255', - 'limit_date' => 'required_if:topic,Réclamation|date|nullable', - 'consumption_date' => 'required_if:topic,Réclamation|date|nullable', - 'message' => 'required|min:25', - 'file' => 'nullable|mimes:jpg,jpeg,png,pdf|max:5120', - ]; - } - - /** - * Get the error messages for the defined validation rules. - * - * @return array - */ - public function messages() - { - return [ - 'topic.required' => __('Veuille préciser la nature de votre demande.'), - 'file.max' => __('La taille du fichier ne peut pas dépasser :max kilo-octets.'), - 'file.mimes' => __('Le fichier doit être de type : :values.'), - ]; - } -} diff --git a/app/Http/Requests/UpdateEncartRequest.php b/app/Http/Requests/UpdateEncartRequest.php index dd20390..02fa849 100644 --- a/app/Http/Requests/UpdateEncartRequest.php +++ b/app/Http/Requests/UpdateEncartRequest.php @@ -25,9 +25,13 @@ class UpdateEncartRequest extends FormRequest { return [ 'title' => 'required|max:255', - 'subtitle' => 'required|max:255', + 'subtitle' => 'sometimes|max:255', + // TODO 'subtitle' => [ + // Rule::requiredIf(), 'max:255' + // 'required|max:255' + // ], 'text' => 'required|max:2047', - 'picture' => 'sometimes|image|mimes:jpeg,png,jpg|max:2048|dimensions:width=642,height=556', + 'picture' => 'sometimes|image|mimes:jpeg,png,jpg|max:2048', ]; } } diff --git a/app/Http/Requests/UpdatePictoBrandRequest.php b/app/Http/Requests/UpdatePictoBrandRequest.php new file mode 100644 index 0000000..6b34ac8 --- /dev/null +++ b/app/Http/Requests/UpdatePictoBrandRequest.php @@ -0,0 +1,32 @@ +check(); + } + + /** + * Get the validation rules that apply to the request. + * + * @return array + */ + public function rules() + { + return [ + 'title' => 'required|max:50', + 'picture' => 'sometimes|image|mimes:jpeg,png,jpg|max:1024', + 'text' => 'required|max:127', + ]; + } +} diff --git a/app/Http/Requests/UpdatePictoRequest.php b/app/Http/Requests/UpdatePictoRequest.php new file mode 100644 index 0000000..93d96e2 --- /dev/null +++ b/app/Http/Requests/UpdatePictoRequest.php @@ -0,0 +1,31 @@ +check(); + } + + /** + * Get the validation rules that apply to the request. + * + * @return array + */ + public function rules() + { + return [ + 'picture' => 'sometimes|image|mimes:png|max:1024', + 'text' => 'required|max:50', + ]; + } +} diff --git a/app/Http/Requests/UpdateTitleRequest.php b/app/Http/Requests/UpdateTitleRequest.php new file mode 100644 index 0000000..387fee7 --- /dev/null +++ b/app/Http/Requests/UpdateTitleRequest.php @@ -0,0 +1,31 @@ +check(); + } + + /** + * Get the validation rules that apply to the request. + * + * @return array + */ + public function rules() + { + return [ + 'title' => 'required|max:50', + 'text' => 'sometimes:|max:2047', + ]; + } +} diff --git a/app/Models/Encart.php b/app/Models/Encart.php index 5400f68..0271a01 100644 --- a/app/Models/Encart.php +++ b/app/Models/Encart.php @@ -6,12 +6,14 @@ use App\Enums\Page; use App\Lib\Utils; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; +use Kwaadpepper\Enum\Traits\CastsEnums; class Encart extends Model { use HasFactory; + use CastsEnums; - public $castEnums = [ + public $enumCasts = [ 'page' => Page::class ]; diff --git a/app/Models/Picto.php b/app/Models/Picto.php new file mode 100644 index 0000000..35a9897 --- /dev/null +++ b/app/Models/Picto.php @@ -0,0 +1,40 @@ + Page::class + ]; + + protected $fillable = [ + 'picture', + 'text', + ]; + + // protected static function boot() + // { + // static::creating(function (EncartArg $encartArg) { + // if ($encartArg->picture) { + // $encartArg->picture = Utils::storeImage($encartArg->picture, $encartArg->getTable()); + // } + // }); + + // static::updating(function (EncartArg $encartArg) { + // if ($encartArg->picture) { + // $encartArg->picture = Utils::storeImage($encartArg->picture, $encartArg->getTable()); + // } + // }); + // parent::boot(); + // } +} diff --git a/app/Models/PictoBrand.php b/app/Models/PictoBrand.php new file mode 100644 index 0000000..55f110c --- /dev/null +++ b/app/Models/PictoBrand.php @@ -0,0 +1,33 @@ +picture) { + // $encartArg->picture = Utils::storeImage($encartArg->picture, $encartArg->getTable()); + // } + // }); + + // static::updating(function (EncartArg $encartArg) { + // if ($encartArg->picture) { + // $encartArg->picture = Utils::storeImage($encartArg->picture, $encartArg->getTable()); + // } + // }); + // parent::boot(); + // } +} diff --git a/app/Models/Title.php b/app/Models/Title.php new file mode 100644 index 0000000..e624387 --- /dev/null +++ b/app/Models/Title.php @@ -0,0 +1,23 @@ + Page::class + ]; + + protected $fillable = [ + 'title', + 'text', + ]; +} diff --git a/app/Models/User.php b/app/Models/User.php index e774489..ee863f5 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -8,14 +8,16 @@ use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Foundation\Auth\User as Authenticatable; use Illuminate\Notifications\Notifiable; use Illuminate\Support\Facades\Hash; +use Kwaadpepper\Enum\Traits\CastsEnums; use Laravel\Sanctum\HasApiTokens; class User extends Authenticatable { use HasFactory; use Notifiable; + use CastsEnums; - public $castEnums = [ + public $enumCasts = [ 'role' => Role::class ]; diff --git a/app/Providers/AppServiceProvider.php b/app/Providers/AppServiceProvider.php index ee8ca5b..e4b4ee7 100644 --- a/app/Providers/AppServiceProvider.php +++ b/app/Providers/AppServiceProvider.php @@ -2,6 +2,11 @@ namespace App\Providers; +use App\Enums\Page; +use App\Models\Encart; +use App\Models\Picto; +use App\Models\Title; +use Illuminate\Support\Facades\View; use Illuminate\Support\ServiceProvider; class AppServiceProvider extends ServiceProvider @@ -23,6 +28,28 @@ class AppServiceProvider extends ServiceProvider */ public function boot() { - // + $encart_home = Encart::where('page', Page::home()->value)->first(); + $encart_marque1 = Encart::where('page', Page::marque1()->value)->first(); + $encart_marque2 = Encart::where('page', Page::marque2()->value)->first(); + $encart_marque3 = Encart::where('page', Page::marque3()->value)->first(); + $encart_marque4 = Encart::where('page', Page::marque4()->value)->first(); + $encart_food = Encart::where('page', Page::food()->value)->first(); + + $picto_marque = Picto::where('page', Page::marque1()->value)->get(); + + $title_marque1 = Title::where('page', Page::marque1()->value)->first(); + $title_marque2 = Title::where('page', Page::marque2()->value)->first(); + + View::share('encart_home', $encart_home); + View::share('encart_marque1', $encart_marque1); + View::share('encart_marque2', $encart_marque2); + View::share('encart_marque3', $encart_marque3); + View::share('encart_marque4', $encart_marque4); + View::share('encart_food', $encart_food); + + View::share('picto_marque', $picto_marque); + + View::share('title_marque1', $title_marque1); + View::share('title_marque2', $title_marque2); } } diff --git a/composer.json b/composer.json index c4c9e10..25c30e8 100644 --- a/composer.json +++ b/composer.json @@ -21,7 +21,8 @@ "laravel/sail": "^1.0.1", "mockery/mockery": "^1.4.4", "nunomaduro/collision": "^5.10", - "phpunit/phpunit": "^9.5.10" + "phpunit/phpunit": "^9.5.10", + "slevomat/coding-standard": "^7.0" }, "autoload": { "psr-4": { diff --git a/composer.lock b/composer.lock index 46b18e6..abc9136 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "13cf508d573ec94972a8af8466df849d", + "content-hash": "b7501b51fa530228d43cb776c66a5f6d", "packages": [ { "name": "asm89/stack-cors", @@ -5384,6 +5384,76 @@ } ], "packages-dev": [ + { + "name": "dealerdirect/phpcodesniffer-composer-installer", + "version": "v0.7.1", + "source": { + "type": "git", + "url": "https://github.com/Dealerdirect/phpcodesniffer-composer-installer.git", + "reference": "fe390591e0241955f22eb9ba327d137e501c771c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Dealerdirect/phpcodesniffer-composer-installer/zipball/fe390591e0241955f22eb9ba327d137e501c771c", + "reference": "fe390591e0241955f22eb9ba327d137e501c771c", + "shasum": "" + }, + "require": { + "composer-plugin-api": "^1.0 || ^2.0", + "php": ">=5.3", + "squizlabs/php_codesniffer": "^2.0 || ^3.0 || ^4.0" + }, + "require-dev": { + "composer/composer": "*", + "phpcompatibility/php-compatibility": "^9.0", + "sensiolabs/security-checker": "^4.1.0" + }, + "type": "composer-plugin", + "extra": { + "class": "Dealerdirect\\Composer\\Plugin\\Installers\\PHPCodeSniffer\\Plugin" + }, + "autoload": { + "psr-4": { + "Dealerdirect\\Composer\\Plugin\\Installers\\PHPCodeSniffer\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Franck Nijhof", + "email": "franck.nijhof@dealerdirect.com", + "homepage": "http://www.frenck.nl", + "role": "Developer / IT Manager" + } + ], + "description": "PHP_CodeSniffer Standards Composer Installer Plugin", + "homepage": "http://www.dealerdirect.com", + "keywords": [ + "PHPCodeSniffer", + "PHP_CodeSniffer", + "code quality", + "codesniffer", + "composer", + "installer", + "phpcs", + "plugin", + "qa", + "quality", + "standard", + "standards", + "style guide", + "stylecheck", + "tests" + ], + "support": { + "issues": "https://github.com/dealerdirect/phpcodesniffer-composer-installer/issues", + "source": "https://github.com/dealerdirect/phpcodesniffer-composer-installer" + }, + "time": "2020-12-07T18:04:37+00:00" + }, { "name": "doctrine/instantiator", "version": "1.4.0", @@ -6450,6 +6520,55 @@ }, "time": "2021-09-10T09:02:12+00:00" }, + { + "name": "phpstan/phpdoc-parser", + "version": "1.2.0", + "source": { + "type": "git", + "url": "https://github.com/phpstan/phpdoc-parser.git", + "reference": "dbc093d7af60eff5cd575d2ed761b15ed40bd08e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/dbc093d7af60eff5cd575d2ed761b15ed40bd08e", + "reference": "dbc093d7af60eff5cd575d2ed761b15ed40bd08e", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0" + }, + "require-dev": { + "php-parallel-lint/php-parallel-lint": "^1.2", + "phpstan/extension-installer": "^1.0", + "phpstan/phpstan": "^1.0", + "phpstan/phpstan-strict-rules": "^1.0", + "phpunit/phpunit": "^9.5", + "symfony/process": "^5.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "psr-4": { + "PHPStan\\PhpDocParser\\": [ + "src/" + ] + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "PHPDoc parser with support for nullable, intersection and generic types", + "support": { + "issues": "https://github.com/phpstan/phpdoc-parser/issues", + "source": "https://github.com/phpstan/phpdoc-parser/tree/1.2.0" + }, + "time": "2021-09-16T20:46:02+00:00" + }, { "name": "phpunit/php-code-coverage", "version": "9.2.8", @@ -7835,6 +7954,123 @@ ], "time": "2020-09-28T06:39:44+00:00" }, + { + "name": "slevomat/coding-standard", + "version": "7.0.18", + "source": { + "type": "git", + "url": "https://github.com/slevomat/coding-standard.git", + "reference": "b81ac84f41a4797dc25c8ede1b0718e2a74be0fc" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/slevomat/coding-standard/zipball/b81ac84f41a4797dc25c8ede1b0718e2a74be0fc", + "reference": "b81ac84f41a4797dc25c8ede1b0718e2a74be0fc", + "shasum": "" + }, + "require": { + "dealerdirect/phpcodesniffer-composer-installer": "^0.6.2 || ^0.7", + "php": "^7.1 || ^8.0", + "phpstan/phpdoc-parser": "^1.0.0", + "squizlabs/php_codesniffer": "^3.6.1" + }, + "require-dev": { + "phing/phing": "2.17.0", + "php-parallel-lint/php-parallel-lint": "1.3.1", + "phpstan/phpstan": "1.2.0", + "phpstan/phpstan-deprecation-rules": "1.0.0", + "phpstan/phpstan-phpunit": "1.0.0", + "phpstan/phpstan-strict-rules": "1.1.0", + "phpunit/phpunit": "7.5.20|8.5.21|9.5.10" + }, + "type": "phpcodesniffer-standard", + "extra": { + "branch-alias": { + "dev-master": "7.x-dev" + } + }, + "autoload": { + "psr-4": { + "SlevomatCodingStandard\\": "SlevomatCodingStandard" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Slevomat Coding Standard for PHP_CodeSniffer complements Consistence Coding Standard by providing sniffs with additional checks.", + "support": { + "issues": "https://github.com/slevomat/coding-standard/issues", + "source": "https://github.com/slevomat/coding-standard/tree/7.0.18" + }, + "funding": [ + { + "url": "https://github.com/kukulich", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/slevomat/coding-standard", + "type": "tidelift" + } + ], + "time": "2021-12-07T17:19:06+00:00" + }, + { + "name": "squizlabs/php_codesniffer", + "version": "3.6.1", + "source": { + "type": "git", + "url": "https://github.com/squizlabs/PHP_CodeSniffer.git", + "reference": "f268ca40d54617c6e06757f83f699775c9b3ff2e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/f268ca40d54617c6e06757f83f699775c9b3ff2e", + "reference": "f268ca40d54617c6e06757f83f699775c9b3ff2e", + "shasum": "" + }, + "require": { + "ext-simplexml": "*", + "ext-tokenizer": "*", + "ext-xmlwriter": "*", + "php": ">=5.4.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0" + }, + "bin": [ + "bin/phpcs", + "bin/phpcbf" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.x-dev" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Greg Sherwood", + "role": "lead" + } + ], + "description": "PHP_CodeSniffer tokenizes PHP, JavaScript and CSS files and detects violations of a defined set of coding standards.", + "homepage": "https://github.com/squizlabs/PHP_CodeSniffer", + "keywords": [ + "phpcs", + "standards" + ], + "support": { + "issues": "https://github.com/squizlabs/PHP_CodeSniffer/issues", + "source": "https://github.com/squizlabs/PHP_CodeSniffer", + "wiki": "https://github.com/squizlabs/PHP_CodeSniffer/wiki" + }, + "time": "2021-10-11T04:00:11+00:00" + }, { "name": "theseer/tokenizer", "version": "1.2.1", diff --git a/config/app.php b/config/app.php index 6361404..5ccb2b5 100644 --- a/config/app.php +++ b/config/app.php @@ -229,6 +229,9 @@ return [ 'Validator' => Illuminate\Support\Facades\Validator::class, 'View' => Illuminate\Support\Facades\View::class, + // Enums + 'Page' => \App\Enums\Page::class, + ], ]; diff --git a/database/factories/PictoBrandFactory.php b/database/factories/PictoBrandFactory.php new file mode 100644 index 0000000..c61defc --- /dev/null +++ b/database/factories/PictoBrandFactory.php @@ -0,0 +1,32 @@ + $this->faker->randomNumber(3, false), + 'picture' => new SplFileInfo(resource_path('assets/images/site-production.jpg')), + 'text' => $this->faker->text(20), + ]; + } +} diff --git a/database/factories/PictoFactory.php b/database/factories/PictoFactory.php new file mode 100644 index 0000000..6805e37 --- /dev/null +++ b/database/factories/PictoFactory.php @@ -0,0 +1,30 @@ + new SplFileInfo(resource_path('assets/images/qualite.png')), + 'text' => $this->faker->text(10), + ]; + } +} diff --git a/database/factories/SliderFactory.php b/database/factories/SliderFactory.php index 7a53769..43f75b8 100644 --- a/database/factories/SliderFactory.php +++ b/database/factories/SliderFactory.php @@ -28,8 +28,8 @@ class SliderFactory extends Factory return [ 'label' => $label, 'slug' => Str::slug($label), - 'commentaire' => $this->faker->realText(128), - 'published' => rand(0, 1) + 'commentaire' => $this->faker->realText(50), + 'published' => 1 ]; } } diff --git a/database/factories/TitleFactory.php b/database/factories/TitleFactory.php new file mode 100644 index 0000000..d31086c --- /dev/null +++ b/database/factories/TitleFactory.php @@ -0,0 +1,30 @@ + $this->faker->text(5), + 'text' => $this->faker->sentence(20), + ]; + } +} diff --git a/database/migrations/2021_12_10_140929_create_pictos_table.php b/database/migrations/2021_12_10_140929_create_pictos_table.php new file mode 100644 index 0000000..81c6ba6 --- /dev/null +++ b/database/migrations/2021_12_10_140929_create_pictos_table.php @@ -0,0 +1,34 @@ +id(); + $table->smallInteger('page'); + $table->string('picture')->nullable(); + $table->string('text'); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('pictos'); + } +} diff --git a/database/migrations/2021_12_10_143830_create_picto_brands_table.php b/database/migrations/2021_12_10_143830_create_picto_brands_table.php new file mode 100644 index 0000000..95c8193 --- /dev/null +++ b/database/migrations/2021_12_10_143830_create_picto_brands_table.php @@ -0,0 +1,34 @@ +id(); + $table->string('title'); + $table->string('picture')->nullable(); + $table->string('text'); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('picto_brands'); + } +} diff --git a/database/migrations/2021_12_10_150259_create_titles_table.php b/database/migrations/2021_12_10_150259_create_titles_table.php new file mode 100644 index 0000000..29e1cfc --- /dev/null +++ b/database/migrations/2021_12_10_150259_create_titles_table.php @@ -0,0 +1,34 @@ +id(); + $table->smallInteger('page')->unique(); + $table->string('title'); + $table->string('text')->nullable(); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('titles'); + } +} diff --git a/database/seeders/DatabaseSeeder.php b/database/seeders/DatabaseSeeder.php index ca4bf5a..508dfb4 100644 --- a/database/seeders/DatabaseSeeder.php +++ b/database/seeders/DatabaseSeeder.php @@ -18,6 +18,9 @@ class DatabaseSeeder extends Seeder UserSeeder::class, SlidersSeeder::class, EncartsSeeder::class, + PictosSeeder::class, + PictoBrandsSeeder::class, + TitlesSeeder::class, ]); } diff --git a/database/seeders/EncartsSeeder.php b/database/seeders/EncartsSeeder.php index 211137c..ea06c3b 100644 --- a/database/seeders/EncartsSeeder.php +++ b/database/seeders/EncartsSeeder.php @@ -15,7 +15,7 @@ class EncartsSeeder extends Seeder public function run() { $i = 0; - Encart::factory(3)->make() + Encart::factory(6)->make() ->each(function (Encart $encart) use (&$i) { $encart->page = $i++; $encart->save(); diff --git a/database/seeders/PictoBrandsSeeder.php b/database/seeders/PictoBrandsSeeder.php new file mode 100644 index 0000000..2e84e8e --- /dev/null +++ b/database/seeders/PictoBrandsSeeder.php @@ -0,0 +1,19 @@ +create(); + } +} diff --git a/database/seeders/PictosSeeder.php b/database/seeders/PictosSeeder.php new file mode 100644 index 0000000..6ee0029 --- /dev/null +++ b/database/seeders/PictosSeeder.php @@ -0,0 +1,37 @@ +page = $j; + $picto->picture = new SplFileInfo(resource_path('assets/images/qualite.png')); + $picto->text = 'lorem ipsum set doloris'; + $picto->save(); + } + } + // $i = 2; + // Picto::factory(10)->make() + // ->each(function (Picto $picto) use (&$i) { + // $picto->page = $i++; + // $picto->save(); + // if ($i === 4) { + // $i = 2; + // } + // }); + } +} diff --git a/database/seeders/TitlesSeeder.php b/database/seeders/TitlesSeeder.php new file mode 100644 index 0000000..768d62f --- /dev/null +++ b/database/seeders/TitlesSeeder.php @@ -0,0 +1,31 @@ +page = Page::marque1(); + $title->title = 'Nos valeurs'; + $title->text = 'Lorem ip sum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostr'; + + $title->save(); + + $title = new Title(); + $title->page = Page::marque2(); + $title->title = 'Nos engagements'; + + $title->save(); + } +} diff --git a/phpcs.xml b/phpcs.xml index 5efe220..960dda0 100644 --- a/phpcs.xml +++ b/phpcs.xml @@ -81,6 +81,7 @@ + diff --git a/resources/views/back/encarts/edit.blade.php b/resources/views/back/encarts/edit.blade.php index 199e5e6..eba4e23 100644 --- a/resources/views/back/encarts/edit.blade.php +++ b/resources/views/back/encarts/edit.blade.php @@ -11,22 +11,28 @@ + @endif @if ($message = Session::get('error')) @endif @if ($message = Session::get('warning')) @endif @if ($message = Session::get('info')) @endif @if ($errors->any()) @@ -39,8 +31,6 @@ @endforeach @endif - + @endif \ No newline at end of file diff --git a/resources/views/back/pictos/edit.blade.php b/resources/views/back/pictos/edit.blade.php new file mode 100644 index 0000000..f3af233 --- /dev/null +++ b/resources/views/back/pictos/edit.blade.php @@ -0,0 +1,96 @@ +@extends('layouts.backend') + +@section('content') +
+ @method('PUT') + @csrf +
+
+
+
+ + @if ($picto->picture !== null) +
+
+ {{$picto->text}} + @endif + @include('back.modules.input-error', ['inputName'=>'picture']) +
+
+ + + @include('back.modules.input-error', ['inputName'=>'text']) +
+
+
+
+
+ + @if ($picto->picture !== null) +
+
+ {{$picto->text}} + @endif + @include('back.modules.input-error', ['inputName'=>'picture']) +
+
+ + + @include('back.modules.input-error', ['inputName'=>'text']) +
+
+
+
+
+ + @if ($picto->picture !== null) +
+
+ {{$picto->text}} + @endif + @include('back.modules.input-error', ['inputName'=>'picture']) +
+
+ + + @include('back.modules.input-error', ['inputName'=>'text']) +
+
+
+
+
+ + @if ($picto->picture !== null) +
+
+ {{$picto->text}} + @endif + @include('back.modules.input-error', ['inputName'=>'picture']) +
+
+ + + @include('back.modules.input-error', ['inputName'=>'text']) +
+
+
+
+
+ + @if ($picto->picture !== null) +
+
+ {{$picto->text}} + @endif + @include('back.modules.input-error', ['inputName'=>'picture']) +
+
+ + + @include('back.modules.input-error', ['inputName'=>'text']) +
+
+
+ +
+@endsection diff --git a/resources/views/back/titles/edit.blade.php b/resources/views/back/titles/edit.blade.php new file mode 100644 index 0000000..12b40ed --- /dev/null +++ b/resources/views/back/titles/edit.blade.php @@ -0,0 +1,29 @@ +@extends('layouts.backend') + +@section('content') +
+ @method('PUT') + @csrf +
+

+ < {{ __('Entête') }} {{ __('Edition') }}

+
+
+
+ +
+ + + @include('back.modules.input-error', ['inputName'=>'title']) +
+ page->equals(Page::marque2())) { ?> +
+ + + @include('back.modules.input-error', ['inputName'=>'text']) +
+ +
+@endsection diff --git a/resources/views/front/a-propos.blade.php b/resources/views/front/a-propos.blade.php index e9267a7..e3cd15e 100644 --- a/resources/views/front/a-propos.blade.php +++ b/resources/views/front/a-propos.blade.php @@ -29,10 +29,10 @@
-

Le groupe , l'entreprise

+

{{ $encart_marque1->title}}

-

Sous-titre

-

Lorem ip sum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt.

+

{{ $encart_marque1->subtitle}}

+

{{ $encart_marque1->text}}

@@ -87,8 +87,8 @@
-

Nos valeurs

-

Lorem ip sum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostr

+

{{ $title_marque1->title}}

+

{{ $title_marque1->text}}

  • Plaisir @@ -165,19 +165,17 @@
    -

    Nos engagements

    +

    {{ $title_marque2->title}}

    - photo -

    Lorem ip sum dolor sit amet

    -

    Lorem ip sum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit - in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt

    + photo +

    {{ $encart_marque2->title}}

    +

    {{ $encart_marque2->text}}

    - photo -

    Lorem ip sum dolor sit amet

    -

    Lorem ip sum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit - in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt

    + photo +

    {{ $encart_marque3->title}}

    +

    {{ $encart_marque3->text}}

    @@ -188,17 +186,14 @@
    -

    Le label

    +

    {{ $encart_marque4->title}}

    -

    Lorem ip sum dolor sit amet

    -

    Lorem ip sum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostr - ud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Lorem ip sum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

    -

    Lorem ip sum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostr - ud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Lorem ip sum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

    +

    {{ $encart_marque4->subtitle}}

    +

    {{ $encart_marque4->text}}

    - photo + photo
    diff --git a/resources/views/front/food-service.blade.php b/resources/views/front/food-service.blade.php index 7da41e8..d2cfa28 100644 --- a/resources/views/front/food-service.blade.php +++ b/resources/views/front/food-service.blade.php @@ -30,16 +30,17 @@
    -

    Doux Food Service

    +

    {{ $encart_food->title}}

    -

    La marque française des professionnels

    +

    {{ $encart_food->subtitle}}

    - photo + photo
    -

    Entièrement dédiée aux professionnels ; boucheries, restaurations traditionnelles et points chauds, ID HALAL est un acteur majeur sur le marché du halal. La marque bénéficie d’une expertise et d’un savoir-faire uniques qui sont aujourd’hui reconnus sur le marché. Depuis plus de 20 ans, elle a su construire une relation de confiance et de transparence avec ses clients.

    -

    Id Halal met à profit quotidiennement ses compétences et son historique dans le domaine du halal, afin de proposer une offre complète de produits savoureux et incontournables adaptés aux professionnels des métiers de bouche pour varier les plaisirs et répondre aux attentes des consommateurs

    +

    + {{ $encart_food->text}} +

    En savoir plus
    diff --git a/resources/views/layouts/backend.blade.php b/resources/views/layouts/backend.blade.php index 000d2a9..6377ec7 100644 --- a/resources/views/layouts/backend.blade.php +++ b/resources/views/layouts/backend.blade.php @@ -9,6 +9,10 @@
    + id); + // exit; + ?> @include('layouts.backend.navbar')
    diff --git a/resources/views/layouts/backend/sidenav.blade.php b/resources/views/layouts/backend/sidenav.blade.php index 6a58215..698ff25 100644 --- a/resources/views/layouts/backend/sidenav.blade.php +++ b/resources/views/layouts/backend/sidenav.blade.php @@ -2,6 +2,7 @@