예제 #1
0
 function is_valid_casual_leave($emp_id, $leave_start_date, $leave_end_date)
 {
     $result = new Result();
     // check if leave is comming into already taken leaves period
     $this->load->model('leave/leave_helper', 'lh');
     $clash_verification = $this->lh->verify_leaves_period($emp_id, $leave_start_date, $leave_end_date);
     $result->updateResult($clash_verification);
     // check if valid balance of casual leaves
     $avail_bal = $this->get_casual_leave_balance($emp_id);
     $applied_period = strtotime($leave_end_date) - strtotime($leave_start_date);
     $applied_period = floor($applied_period / (60 * 60 * 24)) + 1;
     if ($avail_bal < $applied_period) {
         $result->setResult(FALSE);
         $error = "Your leave length is more than available balance. " . "Your available casual leave balance is " . $avail_bal;
         $result->addError($error);
     }
     // check for maximum allowed casual leaves in one stretch
     if ($applied_period > 5) {
         $result->setResult(FALSE);
         $error = "You can take atmost 5 casual leaves in one stretch.";
         $result->addError($error);
     }
     return $result;
 }
예제 #2
0
 function is_valid_restricted_leave($emp_id, $leave_date)
 {
     $result = new Result();
     // modify date to match db date format
     $leave_date = date('Y-m-d', strtotime($leave_date));
     // check if restricted holiday available
     $sql = "SELECT * FROM " . Leave_constants::$TABLE_RESTRICTED_HOLIDAYS . " WHERE holiday_date = '{$leave_date}'";
     $query = $this->db->query($sql);
     if ($query->num_rows() == 0) {
         $result->setResult(FALSE);
         $result->addError("No restricted holiday available.");
     }
     // check if leave is comming into already taken leaves period
     $this->load->model('leave/leave_helper', 'lh');
     $clash_verification = $this->lh->verify_leaves_period($emp_id, $leave_date, $leave_date);
     $result->updateResult($clash_verification);
     // check if balance for leave available
     $balance = $this->get_restricted_leave_balance($emp_id);
     if ($balance < 1) {
         $result->setResult(FALSE);
         $result->addError("Your don't have restricted leaves left.");
     }
     return $result;
 }
예제 #3
0
 function check_suffix()
 {
     // result to return
     $result = new Result();
     $result->updateResult($this->check_suffix_with_casual_leave());
     if (!$result->getResult()) {
         return $result;
     }
     $result->updateResult($this->check_suffix_with_restricted_leave());
     if (!$result->getResult()) {
         return $result;
     }
     return $result;
 }