validated(); $messageContact = new MailContactData($validatedData); $contactMessage = ""; $hasContactError = false; $newsletterMessage = null; $hasNewsletterError = false; /** @var boolean $isNewsletter */ $isNewsletter = isset($validatedData['newsletter']) ? $validatedData['newsletter'] : false; try { dispatch(new SendContactMail($messageContact)) ->onConnection('database') ->onQueue('database'); } catch (AbortContactMailer $e) { Log::error('Fail to build mail from contact page', [ 'exception' => $e ]); $hasContactError = true; $contactMessage = trans('Une erreur est survenue lors de l\'envoi du message de contact.'); } if ($isNewsletter) { try { SingleOptin::setStatus($request->email, true); $newsletterMessage = trans("Votre inscription à la newsletter a été prise en compte"); } catch (ApiErrorException $e) { if ($e->getApiError()->equals(ApiError::singleOptinCustomerExists)) { $newsletterMessage = trans("Vous êtes déjà inscrit avec cette adresse email"); } report($e); $hasNewsletterError = true; // phpcs:ignore Generic.Files.LineLength $newsletterMessage = trans('Une erreur est survenue lors de l\'inscription à la newsletter, merci de réessayer ultérieurement.'); } catch (CrmException $e) { report($e); $hasNewsletterError = true; // phpcs:ignore Generic.Files.LineLength $newsletterMessage = trans('Une erreur est survenue lors de l\'inscription à la newsletter, merci de réessayer ultérieurement.'); } } ContactCount::updateOrInsert( ['type' => $validatedData['enumType']], ['submissions' => DB::raw('submissions + 1')] ); $contactMessage = trans('Votre message a bien été envoyé.'); $message = $newsletterMessage ? $contactMessage . '
' . $newsletterMessage : $contactMessage; return redirect()->back() ->with( $hasContactError || $hasNewsletterError ? 'info' : 'success', new HtmlString($message) ); } }