Merge branch 'master' of github.com:colosa/processmaker

Conflicts:
	workflow/engine/classes/class.plugin.php
	workflow/engine/classes/class.pluginRegistry.php
This commit is contained in:
Erik Amaru Ortiz
2013-12-03 18:23:12 -04:00
118 changed files with 22708 additions and 5200 deletions

View File

@@ -135,7 +135,6 @@ class AppDelegation extends BaseAppDelegation
$this->setDelTaskDueDate( $delTaskDueDate['DUE_DATE'] ); // Due date formatted
if ((defined( "DEBUG_CALENDAR_LOG" )) && (DEBUG_CALENDAR_LOG)) {
$this->setDelData( $delTaskDueDate['DUE_DATE_LOG'] ); // Log of actions made by Calendar Engine
} else {
@@ -291,11 +290,16 @@ class AppDelegation extends BaseAppDelegation
$aCalendarUID = '';
}
//use the dates class to calculate dates
$dates = new dates();
$iDueDate = $dates->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 );
//use the dates class to calculate dates
$calendar = new calendar();
if ($calendar->pmCalendarUid == '') {
$calendar->getCalendar(null, $task->getProUid(), $aData['TAS_UID']);
$calendar->getCalendarData();
}
$iDueDate = $calendar->calculateDate( $this->getDelDelegateDate(), $aData['TAS_DURATION'], $aData['TAS_TIMEUNIT'] //hours or days, ( we only accept this two types or maybe weeks
);
return $iDueDate;
}
@@ -309,6 +313,12 @@ class AppDelegation extends BaseAppDelegation
public function calculateDuration ($cron = 0)
{
try {
if ($cron == 1) {
$arrayCron = unserialize( trim( @file_get_contents( PATH_DATA . "cron" ) ) );
$arrayCron["processcTimeStart"] = time();
@file_put_contents( PATH_DATA . "cron", serialize( $arrayCron ) );
}
//patch rows with initdate = null and finish_date
$c = new Criteria();
$c->clearSelectColumns();
@@ -327,12 +337,6 @@ class AppDelegation extends BaseAppDelegation
$row = $rs->getRow();
while (is_array( $row )) {
if ($cron == 1) {
$arrayCron = unserialize( trim( @file_get_contents( PATH_DATA . "cron" ) ) );
$arrayCron["processcTimeStart"] = time();
@file_put_contents( PATH_DATA . "cron", serialize( $arrayCron ) );
}
$oAppDel = AppDelegationPeer::retrieveByPk( $row['APP_UID'], $row['DEL_INDEX'] );
if (isset( $row['DEL_FINISH_DATE'] )) {
$oAppDel->setDelInitDate( $row['DEL_FINISH_DATE'] );
@@ -387,12 +391,6 @@ class AppDelegation extends BaseAppDelegation
$now = strtotime( 'now' );
while (is_array( $row )) {
if ($cron == 1) {
$arrayCron = unserialize( trim( @file_get_contents( PATH_DATA . "cron" ) ) );
$arrayCron["processcTimeStart"] = time();
@file_put_contents( PATH_DATA . "cron", serialize( $arrayCron ) );
}
$fTaskDuration = $row['TAS_DURATION'];
$iDelegateDate = strtotime( $row['DEL_DELEGATE_DATE'] );
$iInitDate = strtotime( $row['DEL_INIT_DATE'] );
@@ -476,6 +474,12 @@ class AppDelegation extends BaseAppDelegation
$rs->next();
$row = $rs->getRow();
}
if ($cron == 1) {
$arrayCron = unserialize( trim( @file_get_contents( PATH_DATA . "cron" ) ) );
$arrayCron["processcTimeStart"] = time();
@file_put_contents( PATH_DATA . "cron", serialize( $arrayCron ) );
}
} catch (Exception $oError) {
error_log( $oError->getMessage() );
}

View File

@@ -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'] );
}

View File

@@ -174,9 +174,15 @@ class UsersProperties extends BaseUsersProperties
}
}
if (PPP_EXPIRATION_IN > 0) {
G::LoadClass( 'dates' );
$oDates = new dates();
$fDays = $oDates->calculateDuration( date( 'Y-m-d H:i:s' ), $sLastUpdate );
G::LoadClass( 'calendar' );
$oCalendar = new calendar();
if ($oCalendar->pmCalendarUid == '') {
$oCalendar->pmCalendarUid = '00000000000000000000000000000001';
$oCalendar->getCalendarData();
}
$fDays = $oCalendar->calculateDuration( date( 'Y-m-d H:i:s' ), $sLastUpdate );
if ($fDays > (PPP_EXPIRATION_IN * 24)) {
$aErrors[] = 'ID_PPP_EXPIRATION_IN';
}