where('type', StaticPageType::contact)->first(); return view('fo.pages.legals', ['staticPageModel' => $staticPageModel]); } /** * Legals page. * * @param \App\Models\StaticPage $staticPageModel * @return \Illuminate\Contracts\View\View */ public function legals(StaticPage $staticPageModel): \Illuminate\Contracts\View\View { $staticPageModel = StaticPage::query()->where('type', StaticPageType::legals)->first(); return view('fo.pages.legals', ['staticPageModel' => $staticPageModel]); } /** * Confidentiality page. * * @param \App\Models\StaticPage $staticPageModel * @return \Illuminate\Contracts\View\View */ public function policies(StaticPage $staticPageModel): \Illuminate\Contracts\View\View { $staticPageModel = StaticPage::query()->where('type', StaticPageType::confidentiality)->first(); return view('fo.pages.legals', ['staticPageModel' => $staticPageModel]); } /** * Termes and conditions selling page. * * @param \App\Models\StaticPage $staticPageModel * @return \Illuminate\Contracts\View\View */ public function selling(StaticPage $staticPageModel): \Illuminate\Contracts\View\View { $staticPageModel = StaticPage::query()->where('type', StaticPageType::selling)->first(); return view('fo.pages.legals', ['staticPageModel' => $staticPageModel]); } /** * Accessibility page. * * @param \App\Models\StaticPage $staticPageModel * @return \Illuminate\Contracts\View\View */ public function accessibility(StaticPage $staticPageModel): \Illuminate\Contracts\View\View { $staticPageModel = StaticPage::query()->where('type', StaticPageType::accessibility)->first(); return view('fo.pages.legals', ['staticPageModel' => $staticPageModel]); } /** * Recruitment page. * * @param \App\Models\StaticPage $staticPageModel * @return \Illuminate\Contracts\View\View */ public function recruitment(StaticPage $staticPageModel): \Illuminate\Contracts\View\View { $detect = new MobileDetect(); $staticPageModel = StaticPage::query()->where('type', StaticPageType::recruitment)->first(); $offerModels = Cache::rememberForever( config('services.digital_recruiter.url'), fn() => Offer::query()->where('published', true)->orderBy('publish_at', 'DESC')->take(6)->get() ); $professionModels = Profession::query()->where('published', true)->take(5)->get(); $brandAdvantageModels = BrandAdvantage::query()->where('published', true)->orderBy('order')->get(); $newsCorporateModels = NewsCorporate::query() ->where('published', true) ->orderByDesc('updated_at') ->limit($detect->isMobile() ? 3 : 9) ->get(); $digitalRecruiterCount = Cache::rememberForever( sprintf('%s-count', config('services.digital_recruiter.url')), fn() => GeneralSetting::query()->where('type', SettingsType::offersCount)->firstOrFail()->value['count'] ); $testimonialModels = Testimonial::query()->where('published', true)->get(); return view('fo.pages.recruitment', compact( 'staticPageModel', 'offerModels', 'professionModels', 'brandAdvantageModels', 'digitalRecruiterCount', 'testimonialModels', 'newsCorporateModels', 'detect' )); } /** * Who are we page. * * @param \App\Models\StaticPage $staticPageModel * @return \Illuminate\Contracts\View\View */ public function story(StaticPage $staticPageModel): \Illuminate\Contracts\View\View { $staticPageModel = StaticPage::query()->where('type', StaticPageType::story)->first(); $keyNumberModels = KeyNumber::query()->where('published', true)->orderBy('order')->take(5)->get(); $historicalMilestoneModels = HistoricalMilestone::query()->where('published', true)->orderBy('year')->get(); return view('fo.pages.story', compact('staticPageModel', 'keyNumberModels', 'historicalMilestoneModels')); } /** * Advertising saga page. * * @param \App\Models\StaticPage $staticPageModel * @return \Illuminate\Contracts\View\View */ public function saga(StaticPage $staticPageModel) { $staticPageModel = StaticPage::query()->where('type', StaticPageType::saga)->first(); $videoModels = Video::query()->where('published', true)->orderBy('order')->with('product')->take(6)->get(); return view('fo.pages.saga', compact('staticPageModel', 'videoModels')); } }