diff --git a/workflow/engine/bin/cron_single.php b/workflow/engine/bin/cron_single.php index 46eaef0b8..80ceb2dd9 100755 --- a/workflow/engine/bin/cron_single.php +++ b/workflow/engine/bin/cron_single.php @@ -116,6 +116,7 @@ Bootstrap::registerClass('Holiday', PATH_HOME . "engine/classes/model Bootstrap::registerClass('Task', PATH_HOME . "engine/classes/model/Task.php"); Bootstrap::registerClass('TaskPeer', PATH_HOME . "engine/classes/model/TaskPeer.php"); Bootstrap::registerClass('dates', PATH_HOME . "engine/classes/class.dates.php"); +Bootstrap::registerClass('calendar', PATH_HOME . "engine/classes/class.calendar.php"); Bootstrap::registerClass('AppDelegation', PATH_HOME . "engine/classes/model/AppDelegation.php"); Bootstrap::registerClass('BaseAppDelegationPeer',PATH_HOME . "engine/classes/model/om/BaseAppDelegationPeer.php"); Bootstrap::registerClass('AppDelegationPeer', PATH_HOME . "engine/classes/model/AppDelegationPeer.php"); diff --git a/workflow/engine/classes/model/AppDelegation.php b/workflow/engine/classes/model/AppDelegation.php index 1a5176eab..2296b0d9e 100755 --- a/workflow/engine/classes/model/AppDelegation.php +++ b/workflow/engine/classes/model/AppDelegation.php @@ -299,8 +299,6 @@ class AppDelegation extends BaseAppDelegation } $iDueDate = $calendar->calculateDate( $this->getDelDelegateDate(), $aData['TAS_DURATION'], $aData['TAS_TIMEUNIT'] //hours or days, ( we only accept this two types or maybe weeks - //$aData['TAS_TYPE_DAY'], //working or calendar days - // $this->getUsrUid(), $task->getProUid(), $aData['TAS_UID'], $aCalendarUID ); return $iDueDate; diff --git a/workflow/engine/classes/model/Event.php b/workflow/engine/classes/model/Event.php index 5538a72a9..630463ff5 100755 --- a/workflow/engine/classes/model/Event.php +++ b/workflow/engine/classes/model/Event.php @@ -421,8 +421,8 @@ class Event extends BaseEvent try { $rowsCreated = 0; $rowsRejected = 0; - G::LoadClass( 'dates' ); - $oDates = new dates(); + G::LoadClass( 'calendar' ); + $oCalendar = new calendar(); //SELECT // EVENT.PRO_UID, @@ -503,16 +503,21 @@ class Event extends BaseEvent $estimatedDuration = (float) $aData['EVN_TAS_ESTIMATED_DURATION']; $when = (float) $aData['EVN_WHEN']; $whenOccurs = $aData['EVN_WHEN_OCCURS']; - + + if ($oCalendar->pmCalendarUid == '') { + $oCalendar->getCalendar(null, $aData['PRO_UID'], $aData['TAS_UID']); + $oCalendar->getCalendarData(); + } + if ($whenOccurs == 'AFTER_TIME') { //for multiple $sDueDate = date('Y-m-d H:i:s', $oDates->calculateDate($aData['DEL_DELEGATE_DATE'], $estimatedDuration, 'days', 1)); $sDueDate = $aData['DEL_TASK_DUE_DATE']; - $calculatedDueDateA = $oDates->calculateDate( $sDueDate, $when, 'days', 1 ); + $calculatedDueDateA = $oCalendar->calculateDate( $sDueDate, $when, 'days' ); $sActionDate = date( 'Y-m-d H:i:s', $calculatedDueDateA['DUE_DATE_SECONDS'] ); $validStartDate = ($sActionDate >= $aData['DEL_DELEGATE_DATE']); } else { $sDueDate = $aData['DEL_DELEGATE_DATE']; - $calculatedDueDateA = $oDates->calculateDate( $sDueDate, $when, 'days', 1 ); + $calculatedDueDateA = $oCalendar->calculateDate( $sDueDate, $when, 'days' ); $sActionDate = date( 'Y-m-d H:i:s', $calculatedDueDateA['DUE_DATE_SECONDS'] ); $validStartDate = ($sActionDate >= $aData['DEL_DELEGATE_DATE']); } @@ -542,8 +547,8 @@ class Event extends BaseEvent try { $rowsCreated = 0; $rowsRejected = 0; - G::LoadClass( 'dates' ); - $oDates = new dates(); + G::LoadClass( 'calendar' ); + $oCalendar = new calendar(); // SELECT TASK2.* , // EVENT.EVN_UID, EVENT.PRO_UID, EVENT.EVN_TAS_UID_FROM, // EVENT.EVN_TAS_ESTIMATED_DURATION, EVENT.EVN_WHEN, @@ -614,16 +619,21 @@ class Event extends BaseEvent $estimatedDuration = (float) $aData['EVN_TAS_ESTIMATED_DURATION']; $when = (float) $aData['EVN_WHEN']; $whenOccurs = $aData['EVN_WHEN_OCCURS']; + + if ($oCalendar->pmCalendarUid == '') { + $oCalendar->getCalendar(null, $aData['PRO_UID'], $aData['TAS_UID']); + $oCalendar->getCalendarData(); + } if ($whenOccurs == 'AFTER_TIME') { //for multiple $sDueDate = date('Y-m-d H:i:s', $oDates->calculateDate($aData['DEL_DELEGATE_DATE'], $estimatedDuration, 'days', 1)); $sDueDate = $aData['DEL_TASK_DUE_DATE']; - $calculatedDueDateA = $oDates->calculateDate( $sDueDate, $when, 'days', 1 ); + $calculatedDueDateA = $oCalendar->calculateDate( $sDueDate, $when, 'days' ); $sActionDate = date( 'Y-m-d H:i:s', $calculatedDueDateA['DUE_DATE_SECONDS'] ); $validStartDate = ($sActionDate >= $aData['DEL_DELEGATE_DATE']); } else { $sDueDate = $aData['DEL_DELEGATE_DATE']; - $calculatedDueDateA = $oDates->calculateDate( $sDueDate, $when, 'days', 1 ); + $calculatedDueDateA = $oCalendar->calculateDate( $sDueDate, $when, 'days' ); $sActionDate = date( 'Y-m-d H:i:s', $calculatedDueDateA['DUE_DATE_SECONDS'] ); $validStartDate = ($sActionDate >= $aData['DEL_DELEGATE_DATE']); } @@ -861,8 +871,8 @@ class Event extends BaseEvent public function toCalculateTime ($aData, $iDate = null) { - G::LoadClass( 'dates' ); - $oDates = new dates(); + G::LoadClass( 'calendar' ); + $oCalendar = new calendar(); $iDate = isset( $iDate ) ? $iDate : date( 'Y-m-d H:i:s' ); @@ -870,14 +880,18 @@ class Event extends BaseEvent $when = $aData['EVN_WHEN']; //how many days $whenOccurs = $aData['EVN_WHEN_OCCURS']; //time on action (AFTER_TIME/TASK_STARTED) + if ($oCalendar->pmCalendarUid == '') { + $oCalendar->getCalendar(null, $aData['PRO_UID'], $aData['TAS_UID']); + $oCalendar->getCalendarData(); + } if ($whenOccurs == 'TASK_STARTED') { - $calculatedDueDateA = $oDates->calculateDate( $iDate, $when, 'days', 1 ); + $calculatedDueDateA = $oCalendar->calculateDate( $iDate, $when, 'days' ); $sActionDate = date( 'Y-m-d H:i:s', $calculatedDueDateA['DUE_DATE_SECONDS'] ); } else { - $calculatedDueDateA = $oDates->calculateDate( $iDate, $estimatedDuration + $when, 'days', 1 ); + $calculatedDueDateA = $oCalendar->calculateDate( $iDate, $estimatedDuration + $when, 'days' ); $sActionDate = date( 'Y-m-d H:i:s', $calculatedDueDateA['DUE_DATE_SECONDS'] ); } diff --git a/workflow/engine/classes/model/UsersProperties.php b/workflow/engine/classes/model/UsersProperties.php index f4a9dd50d..7a0602306 100755 --- a/workflow/engine/classes/model/UsersProperties.php +++ b/workflow/engine/classes/model/UsersProperties.php @@ -174,11 +174,11 @@ class UsersProperties extends BaseUsersProperties } } if (PPP_EXPIRATION_IN > 0) { - G::LoadClass( 'dates' ); + G::LoadClass( 'calendar' ); $oCalendar = new calendar(); if ($calendar->pmCalendarUid == '') { - $calendar->getCalendar($this->usrID); + $calendar->pmCalendarUid = '00000000000000000000000000000001'; $calendar->getCalendarData(); }