BUG 8038 Case Scheduler add a way to schedule tasks more often than... SOLVED

- According to the specifications.
- Was added the option "Every" that run the task each X hours.
This commit is contained in:
Marco Antonio Nina
2012-08-16 17:55:46 -04:00
parent cb5178e5a0
commit 66a3f4a446
8 changed files with 262 additions and 52 deletions

View File

@@ -63,17 +63,19 @@ try {
$sOption = $_POST['form']['SCH_OPTION'];
$aData['SCH_OPTION'] = $sOption;
if ($_POST['form']['SCH_START_DATE']!=''){
$sDateTmp = $_POST['form']['SCH_START_DATE'];
} else {
$sDateTmp = date('Y-m-d');
}
$sTimeTmp = $_POST['form']['SCH_START_TIME'];
$aData['SCH_START_TIME'] = date('Y-m-d', strtotime($sDateTmp)) . ' ' . date('H:i:s', strtotime($sTimeTmp));
$aData['SCH_START_DATE'] = date('Y-m-d', strtotime($sDateTmp)) . ' ' . date('H:i:s', strtotime($sTimeTmp));
$nActualTime = $_POST['form']['SCH_START_TIME']; // time();
// $nActualDate = date("Y-m-d H:i:s", $nActualTime);
if ($_POST['form']['SCH_START_DATE']!=''){
$sDateTmp = $_POST['form']['SCH_START_DATE'];
} else {
$sDateTmp = date('Y-m-d');
}
$sTimeTmp = $_POST['form']['SCH_START_TIME'];
$aData['SCH_START_TIME'] = date('Y-m-d', strtotime($sDateTmp)) . ' ' . date('H:i:s', strtotime($sTimeTmp));
$aData['SCH_START_DATE'] = date('Y-m-d', strtotime($sDateTmp)) . ' ' . date('H:i:s', strtotime($sTimeTmp));
$nActualTime = $_POST['form']['SCH_START_TIME']; // time();
// $nActualDate = date("Y-m-d H:i:s", $nActualTime);
$sValue = '';
$sDaysPerformTask = '';
@@ -161,7 +163,8 @@ try {
}
if(($sOption!='1') && ($sOption!='4')) {
echo "<br>sOption: ".$sOption;
if(($sOption!='1') && ($sOption!='4') && ($sOption!='5') ) {
if ($sStartDay==''){
$sStartDay = date('Y-m-d');
}
@@ -190,8 +193,17 @@ try {
$aData['SCH_END_DATE'] = $aData['SCH_START_TIME'];
}
$aData['SCH_TIME_NEXT_RUN'] = $aData['SCH_START_TIME'];
if ($sOption == 5) {
$aData['SCH_START_TIME'] = time();
$aData['SCH_START_DATE'] = $aData['SCH_START_TIME'];
$nextRun = $_POST['form']['SCH_REPEAT_EVERY']*60*60;
$aData['SCH_REPEAT_EVERY'] = $_POST['form']['SCH_REPEAT_EVERY'];
$date = $aData['SCH_START_TIME'];
$date += $nextRun;
$date = date("Y-m-d H:i", $date );
$aData['SCH_TIME_NEXT_RUN'] = $date;
}
}
if(trim($_POST['form']['SCH_END_DATE'])!=''){
$aData['SCH_END_DATE'] = $_POST['form']['SCH_END_DATE'];
}

View File

@@ -46,7 +46,6 @@ try {
if (empty($_POST)) {
die('The information sended is empty!');
}
$aData['SCH_UID'] = $_POST['form']['SCH_UID'];
$aData['SCH_NAME'] = $_POST['form']['SCH_NAME'];
$aData['PRO_UID'] = $_POST['form']['PRO_UID'];
@@ -162,7 +161,7 @@ try {
$aData['SCH_END_DATE'] = $_POST['form']['SCH_END_DATE'];
}
// if the start date has changed then recalculate the next run time
if ($_POST['form']['SCH_START_DATE']==$_POST['form']['PREV_SCH_START_DATE']){
if ($_POST['form']['SCH_START_DATE']==$_POST['form']['PREV_SCH_START_DATE']) {
$recalculateDate = false;
} else {
$recalculateDate = true;
@@ -177,7 +176,7 @@ try {
// var_dump($recalculateTime);
// die();
$nActualTime = $_POST['form']['SCH_START_TIME'];
if(($sOption!='1') && ($sOption!='4')) {
if(($sOption!='1') && ($sOption!='4') && ($sOption!='5')) {
if ($sStartDay==''){
$sStartDay = date('Y-m-d');
}
@@ -230,6 +229,18 @@ try {
// var_dump($recalculateTime);
// var_dump($aData['SCH_TIME_NEXT_RUN']);
// die;
if ($sOption=='5') {
$date = $oCaseScheduler->getSchLastRunTime();
if ($date == null) {
$date = $oCaseScheduler->getSchStartTime();
}
$date = strtotime($date);
$nextRun = $_POST['form']['SCH_REPEAT_EVERY']*60*60;
$aData['SCH_REPEAT_EVERY'] = $_POST['form']['SCH_REPEAT_EVERY'];
$date += $nextRun;
$date = date("Y-m-d H:i", $date );
$aData['SCH_TIME_NEXT_RUN'] = $date;
}
}
if(!empty($_POST['form']['SCH_REPEAT_TASK_CHK'])){