where('type', StaticPageType::contact)->firstOrFail(); return view('fo.pages.contact', compact('staticPageModel')); } /** * Send mail when submit the form. * * @param ContactRequest $request * @return \Illuminate\Http\RedirectResponse */ public function contactSubmit(ContactRequest $request): \Illuminate\Http\RedirectResponse { $recipients = config('mail.contactsList.contactform'); if (empty($recipients)) { Log::warning('Aucun destinataire configuré pour le formulaire de contact.'); return back() ->withErrors(['global' => __('Une erreur est survenue, veuillez réessayer plus tard.')]) ->withInput(); } $redirection = back()->with('success', trans( 'Votre message a bien été envoyé, merci de votre intérêt, nous répondrons dans les meilleurs délais.' )); if ($request->opt_in) { try { SingleOptin::setStatus($request->email, true); } catch (ApiErrorException $e) { \report($e); $redirection = $redirection->withErrors([ 'opt_in' => trans('Une erreur est survenue, votre inscription à la newsletter n\'a pas été prise en compte.') ]); } catch (CrmException $e) { \report($e); $redirection = $redirection->withErrors([ 'opt_in' => trans('Une erreur est survenue, votre inscription à la newsletter n\'a pas été prise en compte.') ]); } } //end if foreach ($recipients as $recipient) { Mail::to($recipient)->send(new ContactFormMail($request)); } Session::forget('saveProductInBasket'); Session::forget('contact_draft'); Session::flash('matomo_generate_lead'); return $redirection; } /** * Save data form as draft * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\JsonResponse */ public function saveDraft(Request $request): \Illuminate\Http\JsonResponse { $request->session()->put('contact_draft', $request->only([ 'firstname', 'lastname', 'email', 'phone', 'activity', 'society', 'postcode', 'city', 'message', 'callTime', 'opt_in', ])); return response()->json(['success' => true]); } }