/** * Update the specified resource in storage. * * @param FacultativeFormRequest $request * @param string $rp_id * @param string $id * * @return \Illuminate\Http\Response */ public function update(FacultativeFormRequest $request, $rp_id, $id) { if ($request->ajax()) { if ($this->retailerProductRepository->getRetailerProductById(decode($rp_id)) && $this->repository->getFacultativeById(decode($id))) { $retailerProduct = $this->retailerProductRepository->getModel(); if ($this->repository->updateFacultative($request)) { $fa = $this->repository->getModel(); $header = $fa->detail->header; $this->repository->approved = (int) $request->get('approved'); $surcharge = (bool) $request->get('surcharge'); if ($this->repository->approved === 1 || $this->repository->approved === 0) { $this->headerRepository->setApproved($header); if ($surcharge) { $this->headerRepository->setVehicleResult($retailerProduct, $header); } } $mail = new MailController($request->user(), $request->get('emails')); $this->repository->sendProcessMail($mail, $rp_id, $id); return response()->json(['location' => route('home')]); } } return response()->json(['err' => 'Unauthorized action.'], 401); } return redirect()->back(); }