$staticPageModel]); } /** * Send contact form data. * * @param \App\Http\Requests\Fo\ContactFormRequest $request * @return \Illuminate\Http\RedirectResponse */ public function contactSubmit(ContactFormRequest $request): \Illuminate\Http\RedirectResponse { return DB::transaction(function () use ($request) { try { $data = new MailContactData($request->safe()->except(['g-recaptcha-response', 'joinFile'])); // Send to Passerelle if it is a compalin about a product. if ($request->type == ContactFormType::complain->value) { $joinFilePath = null; $joinFile = ''; $uniqIdDirectory = \uniqid(); if ($request->file('joinFile')) { $joinFile = Storage::disk('local')->put( sprintf('public/tmp/%s', $uniqIdDirectory), $request->file('joinFile') ); $joinFilePath = storage_path('app/' . $joinFile); } \dispatch(new SendPasserelleMail($data, $joinFilePath)); } else { \dispatch(new SendArcadiaMail($data)); } return back()->with('success', __('Votre message a été envoyé avec succès')); } catch (AbortContactMailer $e) { Log::error('Fail to build mail from complain page ', ['exception' => $e]); } return back()->withInput()->with('error', 'Une erreur est survenue durant l\'envoi de votre message. Veuillez réessayer ultèrieurement.'); }); } }