session()->get('status'); $type = $type ?? ContactFormType::none(); $username = $request->username ?? ''; return view('front.contact.contact', compact('type', 'user', 'status', 'username')); } public function contactSubmit(ContactFormRequest $request) { try { $data = new MailContactData($request->all()); SendArchadiaMail::dispatchAfterResponse($data); Contact::incrementStat($data->type); return back()->with('status', true); } catch (AbortContactMailer $e) { Log::error('Fail to build mail from contact page ', ['exception' => $e]); } return back()->withInput()->with('status', false); } public function complain(Request $request) { return $this->contact($request, ContactFormType::complain()); } public function complainSubmit(ContactFormRequest $request) { try { $data = new MailContactData($request->all()); SendPasserelleMail::dispatchAfterResponse($data); Contact::incrementStat($data->type); return back()->with('status', true); } catch (AbortContactMailer $e) { Log::error('Fail to build mail from complain page ', ['exception' => $e]); } return back()->withInput()->with('status', false); } public function reportCustomer(Request $request) { return $this->contact($request, ContactFormType::abuse()); } public function proposeRecipe(Request $request) { return $this->contact($request, ContactFormType::recipe()); } }