public function run()
 {
     $leave1 = DB::table('leavebalance')->where('user_id', '=', '3')->where('leavetype_id', '=', '1')->pluck('balance');
     $leave2 = DB::table('leavebalance')->where('user_id', '=', '2')->where('leavetype_id', '=', '2')->pluck('balance');
     $leave3 = DB::table('leavebalance')->where('user_id', '=', '4')->where('leavetype_id', '=', '2')->pluck('balance');
     $leave4 = DB::table('leavebalance')->where('user_id', '=', '5')->where('leavetype_id', '=', '1')->pluck('balance');
     $leave5 = DB::table('leavebalance')->where('user_id', '=', '6')->where('leavetype_id', '=', '1')->pluck('balance');
     $leave6 = DB::table('leavebalance')->where('user_id', '=', '2')->where('leavetype_id', '=', '1')->pluck('balance');
     $leaverequest = LeaveRequests::create(['user_id' => 3, 'leavetype_id' => '1', 'start_date' => '2015-12-17', 'end_date' => '2015-12-17', 'balance' => $leave1, 'date_app' => '2015-12-07', 'num_days' => 1, 'status' => 'Pending']);
     $leaverequest = LeaveRequests::create(['user_id' => 2, 'leavetype_id' => '2', 'start_date' => '2015-12-02', 'end_date' => '2015-12-02', 'balance' => $leave2, 'date_app' => '2015-12-07', 'num_days' => 1, 'status' => 'Pending']);
     $leaverequest = LeaveRequests::create(['user_id' => 4, 'leavetype_id' => '2', 'start_date' => '2015-12-26', 'end_date' => '2015-12-26', 'balance' => $leave3, 'date_app' => '2015-12-07', 'num_days' => 1, 'status' => 'Approved']);
     $leaverequest = LeaveRequests::create(['user_id' => 5, 'leavetype_id' => '1', 'start_date' => '2015-12-17', 'end_date' => '2015-12-18', 'balance' => $leave4, 'date_app' => '2015-12-07', 'num_days' => 2, 'status' => 'Declined']);
     $leaverequest = LeaveRequests::create(['user_id' => 6, 'leavetype_id' => '1', 'start_date' => '2015-12-17', 'end_date' => '2015-12-18', 'balance' => $leave5, 'date_app' => '2015-12-07', 'num_days' => 2, 'status' => 'Pending']);
     $leaverequest = LeaveRequests::create(['user_id' => 2, 'leavetype_id' => '1', 'start_date' => '2015-12-17', 'end_date' => '2015-12-17', 'balance' => $leave6, 'date_app' => '2015-12-07', 'num_days' => 1, 'status' => 'Pending']);
 }
Esempio n. 2
0
 public function sendAssignedLeaveNotification($obj, $action)
 {
     $mailObj = new LeaveRequests();
     $mailObj->setLeaveRequestId($obj->getLeaveRequestId());
     $mailObj->setLeaveStatus($obj->getLeaveStatus());
     $mailObj->setLeaveComments($obj->getLeaveComments());
     $mailObj->setEmployeeId($obj->getEmployeeId());
     $mailNotificaton = new MailNotifications();
     $mailNotificaton->setLeaveRequestObj($mailObj);
     $mailNotificaton->setAction($action);
     $result = $mailNotificaton->send();
     return $result;
 }
 /**
  * @param $filterLeaveStatus array Array of leave statuses to include. If set, only
  *                                 leaves with these statuses are returned.
  * @param $fromDate Date Start date to search
  * @param $toDate Date End date to search
  */
 protected function _buildObjArr($result, $supervisor = false, $filterLeaveStatus = null, $fromDate = null, $toDate = null)
 {
     $objArr = null;
     while ($row = mysql_fetch_row($result)) {
         $tmpLeaveRequestArr = new LeaveRequests();
         $tmpLeaveRequestArr->setLeaveTypeName($row[0]);
         $tmpLeaveRequestArr->setLeaveRequestId($row[1]);
         $tmpLeave = new Leave();
         $tmpLeaveArr = $tmpLeave->retrieveLeave($row[1]);
         $noOfDays = 0;
         $hours = 0;
         if (isset($tmpLeaveArr) && !empty($tmpLeaveArr)) {
             $totalLeaves = count($tmpLeaveArr);
             $tmpLeaveRequestArr->setLeaveFromDate($tmpLeaveArr[0]->getLeaveDate());
             if (isset($filterLeaveStatus)) {
                 if (in_array($tmpLeaveArr[0]->getLeaveStatus(), $filterLeaveStatus)) {
                     $noOfDays = $tmpLeaveArr[0]->getLeaveLengthDays();
                     $hours = $tmpLeaveArr[0]->getLeaveLengthHours();
                 }
             } else {
                 $noOfDays = $tmpLeaveArr[0]->getLeaveLengthDays();
                 $hours = $tmpLeaveArr[0]->getLeaveLengthHours();
             }
             if ($tmpLeaveArr[0]->getStartTime() != null && $tmpLeaveArr[0]->getEndTime() != null) {
                 $tmpLeaveRequestArr->setStartTime($tmpLeaveArr[0]->getStartTime());
                 $tmpLeaveRequestArr->setEndTime($tmpLeaveArr[0]->getEndTime());
             }
             if ($totalLeaves > 1) {
                 $tmpLeaveRequestArr->setLeaveToDate($tmpLeaveArr[$totalLeaves - 1]->getLeaveDate());
                 $status = $tmpLeaveArr[0]->getLeaveStatus();
                 $comments = $tmpLeaveArr[0]->getLeaveComments();
                 $commentsDiffer = false;
                 for ($i = 1; $i < $totalLeaves; $i++) {
                     if ($tmpLeaveArr[$i]->getLeaveLengthHours() > 0) {
                         if (isset($filterLeaveStatus)) {
                             if (in_array($tmpLeaveArr[$i]->getLeaveStatus(), $filterLeaveStatus)) {
                                 $noOfDays += $tmpLeaveArr[$i]->getLeaveLengthDays();
                                 $hours += $tmpLeaveArr[$i]->getLeaveLengthHours();
                             }
                         } else {
                             $noOfDays += $tmpLeaveArr[$i]->getLeaveLengthDays();
                             $hours += $tmpLeaveArr[$i]->getLeaveLengthHours();
                         }
                         if ($status != $tmpLeaveArr[$i]->getLeaveStatus()) {
                             $status = self::LEAVEREQUESTS_MULTIPLESTATUSES;
                         }
                     }
                     if ($comments != $tmpLeaveArr[$i]->getLeaveComments()) {
                         $commentsDiffer = true;
                     }
                 }
                 $tmpLeaveRequestArr->setLeaveComments($comments);
                 $tmpLeaveRequestArr->setCommentsDiffer($commentsDiffer);
                 $tmpLeaveRequestArr->setLeaveStatus($status);
             } else {
                 $tmpLeaveRequestArr->setLeaveStatus($tmpLeaveArr[0]->getLeaveStatus());
                 $tmpLeaveRequestArr->setLeaveComments($tmpLeaveArr[0]->getLeaveComments());
             }
             $tmpLeaveRequestArr->setNoDays(number_format($noOfDays, 2));
             $tmpLeaveRequestArr->setLeaveLengthHours(number_format($hours, 2));
             /* Check that at least one leave in the list contains a status in
              * $filterLeaveStatus.
              */
             $skip = false;
             if (isset($filterLeaveStatus)) {
                 $skip = true;
                 for ($i = 0; $i < $totalLeaves; $i++) {
                     if (in_array($tmpLeaveArr[$i]->getLeaveStatus(), $filterLeaveStatus)) {
                         $skip = false;
                         break;
                     }
                 }
             } else {
                 if ($supervisor && $tmpLeaveRequestArr->getLeaveStatus() == self::LEAVE_STATUS_LEAVE_TAKEN) {
                     $skip = true;
                 }
             }
             // Find the leave requets for the given data range
             if (isset($toDate) && !$skip) {
                 $endDate = $tmpLeaveRequestArr->getLeaveToDate();
                 if (empty($endDate)) {
                     $endDate = $tmpLeaveRequestArr->getLeaveFromDate();
                 } else {
                     $endDate = $tmpLeaveRequestArr->getLeaveToDate();
                 }
                 if (strtotime($endDate) >= strtotime($fromDate) && strtotime($tmpLeaveRequestArr->getLeaveFromDate()) <= strtotime($toDate)) {
                     $skip = false;
                 } else {
                     $skip = true;
                 }
             }
             if (!$skip) {
                 if ($supervisor) {
                     $tmpLeaveRequestArr->setEmployeeName("{$row[2]} {$row[4]}");
                     $tmpLeaveRequestArr->setEmployeeId($row[3]);
                 }
                 $objArr[] = $tmpLeaveRequestArr;
             }
         }
     }
     return $objArr;
 }
 /**
  * Pares delete data in the UI form
  *
  * @param mixed $postArr
  * @return Leave[]
  */
 public function parseDeleteData($postArr)
 {
     $objLeave = null;
     if (isset($postArr['cmbStatus'])) {
         for ($i = 0; $i < count($postArr['cmbStatus']); $i++) {
             $tmpObj = new LeaveRequests();
             $tmpObj->setLeaveRequestId($postArr['id'][$i]);
             $tmpObj->setLeaveComments($postArr['txtComment'][$i]);
             $tmpObj->setLeaveStatus($postArr['cmbStatus'][$i]);
             $objLeave[] = $tmpObj;
         }
     }
     return $objLeave;
 }