/** * Wrpper to edit holidays * * @param unknown_type $modifier */ public function editHoliday($modifier = "specific") { $this->_authenticateViewHoliday(); switch ($modifier) { case "specific": $objLeave = $this->getObjLeave(); $this->getObjLeave()->edit(); Leave::updateLeavesForDate($objLeave->getDate(), $objLeave->getLength()); Holidays::updateHolidaysForLeavesOnUpdate($objLeave->getDate(), $objLeave->getLength()); break; case "weekend": $this->getObjLeave()->editDay(); Weekends::updateWeekendsForLeaves(); break; } }
public function testUpdateHolidaysForLeavesOnUpdate() { $dbConnection = new DMLFunctions(); $date = date('Y-m-d', time() - 3600 * 24 * 2); $date2 = date('Y-m-d', time() + 3600 * 24 * 2); $query = "INSERT INTO `hs_hr_holidays` (`holiday_id`, `description`, `date`, `recurring`, `length`) VALUES (12, 'National Day', '{$date}', 0, 8)"; $result = $dbConnection->executeQuery($query); $query = "INSERT INTO `hs_hr_holidays` (`holiday_id`, `description`, `date`, `recurring`, `length`) VALUES (13, 'Pooya Day', '{$date2}', 0, 8)"; $result = $dbConnection->executeQuery($query); Holidays::updateHolidaysForLeavesOnUpdate($date, '8'); $query = "SELECT leave_id, leave_status FROM hs_hr_leave WHERE leave_id = 10 "; $result = $dbConnection->executeQuery($query); $row = $dbConnection->dbObject->getArray($result); $this->assertEquals(5, $row['leave_status'], 'Invalid status'); $query = "SELECT leave_id, leave_status FROM hs_hr_leave WHERE leave_id = 11 "; $result = $dbConnection->executeQuery($query); $row = $dbConnection->dbObject->getArray($result); $this->assertEquals(5, $row['leave_status'], 'Invalid status'); Holidays::updateHolidaysForLeavesOnUpdate($date2, '8'); $query = "SELECT leave_id, leave_status FROM hs_hr_leave WHERE leave_id = 12 "; $result = $dbConnection->executeQuery($query); $row = $dbConnection->dbObject->getArray($result); $this->assertEquals(5, $row['leave_status'], 'Invalid status'); $query = "SELECT leave_id, leave_status FROM hs_hr_leave WHERE leave_id = 13 "; $result = $dbConnection->executeQuery($query); $row = $dbConnection->dbObject->getArray($result); $this->assertEquals(1, $row['leave_status'], 'Invalid status'); }