public function postrequestForLeave(Request $request)
 {
     $rules = array('typeofLeave' => 'required', 'startDate' => 'required', 'reasonforAbsence' => 'required', 'recommendApproval' => 'required', 'approvedBy' => 'required');
     $validator = Validator::make($request->all(), $rules);
     if ($validator->fails()) {
         $this->throwValidationException($request, $validator);
     }
     $id = Auth::user()->id;
     $dateUpdate = date("Y-m-d H:i:s");
     if ($request->input('typeofLeave') == 1) {
         $days_taken = Auth::user()->VL_taken + $request->input('VL_daysApplied');
         $balance = Auth::user()->VL_entitlement - Auth::user()->VL_taken;
         if ($balance != 0) {
             if ($days_taken <= Auth::user()->VL_entitlement) {
                 $department = Positions::find(Auth::user()->position_id)->departments;
                 $requestAdd = new Leaves(array('user_id' => $id, 'leave_type' => $request->input('typeofLeave'), 'purpose' => $request->input('reasonforAbsence'), 'department_id' => $department->id, 'permission_id1' => $request->input('recommendApproval'), 'permission_id2' => $request->input('approvedBy'), 'days_applied' => $request->input('VL_daysApplied'), 'start_date' => $request->input('startDate'), 'updated_at' => $dateUpdate));
                 $save = $requestAdd->save();
                 if ($save) {
                     $status = "Success!";
                 } else {
                     $status = "Failed!";
                 }
             } else {
                 $status = "Failed!";
             }
         } else {
             $status = "You don't have any days of leave left.";
         }
     } elseif ($request->input('typeofLeave') == 2) {
         $days_taken = Auth::user()->SL_taken + $request->input('SL_daysApplied');
         $balance = Auth::user()->SL_entitlement - Auth::user()->SL_taken;
         if ($balance != 0) {
             if ($days_taken <= Auth::user()->SL_entitlement) {
                 $department = Positions::find(Auth::user()->position_id)->departments;
                 $requestAdd = new Leaves(array('user_id' => $id, 'leave_type' => $request->input('typeofLeave'), 'purpose' => $request->input('reasonforAbsence'), 'department_id' => $department->id, 'permission_id1' => $request->input('recommendApproval'), 'permission_id2' => $request->input('approvedBy'), 'days_applied' => $request->input('SL_daysApplied'), 'start_date' => $request->input('startDate'), 'updated_at' => $dateUpdate));
                 $save = $requestAdd->save();
                 if ($save) {
                     $status = "Success!";
                 } else {
                     $status = "Failed!";
                 }
             } else {
                 $status = "Failed!";
             }
         } else {
             $status = "You don't have any days of leave left.";
         }
     } elseif ($request->input('typeofLeave') == 3) {
         $days_taken = Auth::user()->ML_taken + $request->input('ML_daysApplied');
         $balance = Auth::user()->ML_entitlement - Auth::user()->ML_taken;
         if ($balance != 0) {
             if ($days_taken <= Auth::user()->ML_entitlement) {
                 // Auth::user()->ML_taken = $days_taken;
                 // Auth::user()->save();
                 $department = Positions::find(Auth::user()->position_id)->departments;
                 $requestAdd = new Leaves(array('user_id' => $id, 'leave_type' => $request->input('typeofLeave'), 'purpose' => $request->input('reasonforAbsence'), 'department_id' => $department->id, 'permission_id1' => $request->input('recommendApproval'), 'permission_id2' => $request->input('approvedBy'), 'days_applied' => $request->input('ML_daysApplied'), 'start_date' => $request->input('startDate'), 'updated_at' => $dateUpdate));
                 $save = $requestAdd->save();
                 if ($save) {
                     $status = "Success!";
                 } else {
                     $status = "Failed!";
                 }
             } else {
                 $status = "Failed!";
             }
         } else {
             $status = "You don't have any days of leave left.";
         }
     } elseif ($request->input('typeofLeave') == 4) {
         $days_taken = Auth::user()->PL_taken + $request->input('PL_daysApplied');
         $balance = Auth::user()->PL_entitlement - Auth::user()->PL_taken;
         if ($balance != 0) {
             if ($days_taken <= Auth::user()->PL_entitlement) {
                 $department = Positions::find(Auth::user()->position_id)->departments;
                 $requestAdd = new Leaves(array('user_id' => $id, 'leave_type' => $request->input('typeofLeave'), 'purpose' => $request->input('reasonforAbsence'), 'department_id' => $department->id, 'permission_id1' => $request->input('recommendApproval'), 'permission_id2' => $request->input('approvedBy'), 'days_applied' => $request->input('PL_daysApplied'), 'start_date' => $request->input('startDate'), 'updated_at' => $dateUpdate));
                 $save = $requestAdd->save();
                 if ($save) {
                     $status = "Success!";
                 } else {
                     $status = "Failed!";
                 }
             } else {
                 $status = "Failed!";
             }
         } else {
             $status = "You don't have any days of leave left.";
         }
     }
     // dd($request->all());
     return redirect('/inbox')->with('status', $status);
 }