示例#1
0
 /**
  * Update the specified resource in storage.
  *
  * @return Response
  */
 public function update(Request $request)
 {
     //Initialize input properties
     if ($request->filing_type == 'RFC') {
         $validator = Validator::make($request->all(), ['approver_response' => 'required', 'notes' => 'required', 'remarks' => 'required']);
     } else {
         if ($request->filing_type == 'RFR' || $request->filing_type == 'QAC') {
             $validator = Validator::make($request->all(), ['approver_response' => 'required', 'remarks' => 'required']);
         }
     }
     //Redirect back if with input errors
     if ($validator->fails()) {
         return Redirect::back()->withErrors($validator)->withInput();
     }
     //Initialization
     $approver_response = $request->approver_response;
     $EASRequest = new EASRequest();
     $user_id = trim(Auth::user()->app_code);
     if ($approver_response == 'Denied' || $approver_response == 'Signed' || $approver_response == 'On-Hold') {
         //Update the request
         $EASRequest->respondRequest($request->request_code, $approver_response, $request->approver_level, trim($request->remarks));
         //Get updated details
         $data = [];
         $data['details'] = $EASRequest->getRequestDetails($request->request_code, $user_id);
         $data['details']['approver_level'] = $request->approver_level;
         //Email Appropriate recipients
         $mail = new EmailController();
         $mail->send($data['details'], $approver_response);
         return $this->show(trim($data['details']['rfc_code']));
     } else {
         if ($approver_response == 'Edit') {
             //Update the request
             $EASRequest->updateRequest($request->request_code, $user_id, $request->all(), $request->filing_type);
             //Get updated details
             $data = [];
             $data['details'] = $EASRequest->getRequestDetails($request->request_code, $user_id);
             //Email Appropriate recipients
             $mail = new EmailController();
             $mail->send($data['details'], $approver_response);
             return $this->edit(trim($data['details']['rfc_code']), $request->filing_type, 'update');
         }
     }
 }