diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/CaseScheduler.php b/workflow/engine/src/ProcessMaker/BusinessModel/CaseScheduler.php index 3bee930e5..45cf59f6b 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/CaseScheduler.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/CaseScheduler.php @@ -283,11 +283,6 @@ class CaseScheduler if (!preg_match($patternDate, $caseSchedulerData['SCH_START_DATE'])) { throw new \Exception(\G::LoadTranslation("ID_INVALID_SCH_START_DATE")); } - if (!isset($caseSchedulerData['SCH_END_DATE'])) { - if (!preg_match($patternDate, $caseSchedulerData['SCH_END_DATE'])) { - throw new \Exception(\G::LoadTranslation("ID_INVALID_SCH_END_DATE")); - } - } if ($caseSchedulerData['SCH_START_DATE'] == "") { throw new \Exception(\G::LoadTranslation("ID_CAN_NOT_BE_NULL", array('sch_start_date'))); } @@ -486,8 +481,10 @@ class CaseScheduler $caseSchedulerData['SCH_TIME_NEXT_RUN'] = $date; } } - if (trim( $caseSchedulerData['SCH_END_DATE'] ) != '') { - $caseSchedulerData['SCH_END_DATE'] = $caseSchedulerData['SCH_END_DATE']; + if (! empty( $caseSchedulerData['SCH_REPEAT_TASK_CHK'] )) { + if (trim( $caseSchedulerData['SCH_END_DATE'] ) != '') { + $caseSchedulerData['SCH_END_DATE'] = $caseSchedulerData['SCH_END_DATE']; + } } if (! empty( $caseSchedulerData['SCH_REPEAT_TASK_CHK'] )) { $nOptEvery = $caseSchedulerData['SCH_REPEAT_EVERY_OPT']; @@ -569,11 +566,6 @@ class CaseScheduler if (!preg_match($patternDate, $caseSchedulerData['SCH_START_DATE'])) { throw new \Exception(\G::LoadTranslation("ID_INVALID_SCH_START_DATE")); } - if (isset($caseSchedulerData['SCH_END_DATE'])) { - if (!preg_match($patternDate, $caseSchedulerData['SCH_END_DATE'])) { - throw new \Exception(\G::LoadTranslation("ID_INVALID_SCH_END_DATE")); - } - } if ($caseSchedulerData['SCH_START_DATE'] == "") { throw new \Exception(\G::LoadTranslation("ID_CAN_NOT_BE_NULL", array('sch_start_date'))); } @@ -780,8 +772,10 @@ class CaseScheduler $caseSchedulerData['SCH_TIME_NEXT_RUN'] = $date; } } - if (trim( $caseSchedulerData['SCH_END_DATE'] ) != '') { - $caseSchedulerData['SCH_END_DATE'] = $caseSchedulerData['SCH_END_DATE']; + if (! empty( $caseSchedulerData['SCH_REPEAT_TASK_CHK'] )) { + if (trim( $caseSchedulerData['SCH_END_DATE'] ) != '') { + $caseSchedulerData['SCH_END_DATE'] = $caseSchedulerData['SCH_END_DATE']; + } } if (! empty( $caseSchedulerData['SCH_REPEAT_TASK_CHK'] )) { $nOptEvery = $caseSchedulerData['SCH_REPEAT_EVERY_OPT'];