/** * @param FacultativeRequestFormRequest $request * @param string $rp_id * @param string $header_id * * @return $this|\Illuminate\Http\RedirectResponse */ public function requestStore(FacultativeRequestFormRequest $request, $rp_id, $header_id) { if ($request->ajax()) { if ($this->repository->getHeaderById(decode($header_id)) && $this->repository->storeFacultative($request)) { $header = $this->repository->getModel(); $mail = new MailController($request->user()); $mail->subject = 'Solicitud de aprobación: Caso Facultativo No. ' . $header->prefix . ' - ' . $header->issue_number; $mail->template = 'au.request-approval'; if ($mail->send(decode($rp_id), ['header' => $header], 'COP')) { $this->repository->storeSent(); } return response()->json(['location' => route('au.edit', compact('rp_id', 'header_id'))]); } return response()->json(['err' => 'Unauthorized action.'], 401); } return redirect()->back(); }