Ejemplo n.º 1
0
 /**
  * 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();
 }