Exemplo n.º 1
0
 public function fileUploadUpdate($uploadId, $status)
 {
     $statusObject = array("applied" => array("approve" => "approved", "reject" => "rejected"), "signed_agreement" => array("approve" => "approved_agreement", "reject" => "rejected_agreement"), "first_payment" => array("approve" => "approved_first_payment", "reject" => "rejected_first_payment"), "second_payment" => array("approve" => "approved_second_payment", "reject" => "rejected_second_payment"), "second_progress_report" => array("approve" => "approved_second_progress_report", "reject" => "rejected_second_progress_report"), "request_extend" => array("approve" => "approved_extend", "reject" => "rejected_extend"), "finalized" => array("approve" => "approved_finalized", "reject" => "rejected_finalized"), "project_finished" => array("approve" => "approved_project_finished", "reject" => "rejected_project_finished"));
     $upload = Upload::find($uploadId);
     $upload->status = $status;
     $upload->save();
     $application = Application::find($upload->application_id);
     $appStatus = $application->status;
     $rejectList = ["rejected", "rejected_agreement", "rejected_first_payment", "rejected_second_payment", "rejected_second_progress_report", "rejected_extend", "rejected_finalized", "rejected_project_finished"];
     if (in_array($appStatus, $rejectList)) {
         // Application status = reject force return
         return redirect()->route('fund_user_request', array('id' => $application->fund));
     }
     $checkReject = Upload::where('application_id', $upload->application_id)->where('status', 'Reject')->count();
     if ($checkReject != 0) {
         $this->applicationUpdate($upload->application_id, $statusObject[$appStatus]['reject']);
     } else {
         $allUploadFile = Upload::where('application_id', $upload->application_id)->count();
         $allUploadApprove = Upload::where('application_id', $upload->application_id)->where('status', 'Approve')->count();
         if ($allUploadFile == $allUploadApprove) {
             $this->applicationUpdate($upload->application_id, $statusObject[$appStatus]['approve']);
         }
     }
     return redirect()->route('fund_user_request', array('id' => $application->fund));
 }