/**
  * 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');
 }