/** * 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(); }
/** * @param CoverageEditFormRequest $request * @param string $rp_id * @param string $de_id * @param string $header_id * * @return mixed */ public function coverageUpdate(CoverageEditFormRequest $request, $rp_id, $de_id, $header_id) { if (Cache::has(decode($header_id)) && $this->retailerProductRepository->getRetailerProductById(decode($rp_id))) { $retailerProduct = $this->retailerProductRepository->getModel(); if ($this->repository->getHeaderById(decode($header_id)) && $this->headerDeRepository->getHeaderById(decode($de_id))) { $header = $this->repository->getModel(); $de = $this->headerDeRepository->getModel(); if ($this->repository->setVehicleResult($retailerProduct, $header) && $this->repository->updateCoverage($request, $de)) { $rp_de = Cache::get(decode($header_id)); return redirect()->route('de.issuance', ['rp_id' => $rp_de, 'header_id' => $de_id])->with(['success_header' => 'La garantía fue asociada correctamente.']); } } } return redirect()->back()->with(['error_header' => 'La cobertura no puede ser emitida . ']); }