diff --git a/workflow/engine/classes/class.calendar.php b/workflow/engine/classes/class.calendar.php index 7ec30c177..48f50b77f 100755 --- a/workflow/engine/classes/class.calendar.php +++ b/workflow/engine/classes/class.calendar.php @@ -414,7 +414,7 @@ class calendar extends CalendarDefinition $hoursDuration -= (float)($secondRes/3600); //$dataLog[] = (float)($secondRes/3600); } else { - $newDate = date('Y-m-d H:i:s', strtotime('+' . (((float)$hoursDuration)*3600) . ' seconds', strtotime($newDate))); + $newDate = date("Y-m-d H:i:s", strtotime("+" . round(((float)($hoursDuration)) * 3600) . " seconds", strtotime($newDate))); //$dataLog[] = (float)($hoursDuration); $hoursDuration = 0; } diff --git a/workflow/engine/classes/model/AppDelegation.php b/workflow/engine/classes/model/AppDelegation.php index caf32c9cc..388d48542 100755 --- a/workflow/engine/classes/model/AppDelegation.php +++ b/workflow/engine/classes/model/AppDelegation.php @@ -356,17 +356,18 @@ class AppDelegation extends BaseAppDelegation $aCalendarUID = ''; } - //use the dates class to calculate dates + //Calendar - Use the dates class to calculate dates $calendar = new calendar(); $arrayCalendarData = array(); if ($calendar->pmCalendarUid == "") { - $calendar->getCalendar(null, $task->getProUid(), $this->getTasUid()); + $calendar->getCalendar(null, $this->getProUid(), $this->getTasUid()); $arrayCalendarData = $calendar->getCalendarData(); } + //Due date /*$iDueDate = $calendar->calculateDate( $this->getDelDelegateDate(), $aData['TAS_DURATION'], $aData['TAS_TIMEUNIT'] //hours or days, ( we only accept this two types or maybe weeks );*/ $dueDate = $calendar->dashCalculateDate($this->getDelDelegateDate(), $aData["TAS_DURATION"], $aData["TAS_TIMEUNIT"], $arrayCalendarData); @@ -378,10 +379,22 @@ class AppDelegation extends BaseAppDelegation public function calculateRiskDate($dueDate, $risk) { try { - $numDueDate = strtotime($dueDate); //Seconds - $numDueDate = $numDueDate - ($numDueDate * $risk); + $riskTime = strtotime($dueDate) - strtotime($this->getDelDelegateDate()); //Seconds + $riskTime = $riskTime - ($riskTime * $risk); - $riskDate = date("Y-m-d H:i:s", round($numDueDate)); + //Calendar - Use the dates class to calculate dates + $calendar = new calendar(); + + $arrayCalendarData = array(); + + if ($calendar->pmCalendarUid == "") { + $calendar->getCalendar(null, $this->getProUid(), $this->getTasUid()); + + $arrayCalendarData = $calendar->getCalendarData(); + } + + //Risk date + $riskDate = $calendar->dashCalculateDate($this->getDelDelegateDate(), round($riskTime / (60 * 60)), "HOURS", $arrayCalendarData); //Return return $riskDate; diff --git a/workflow/engine/src/ProcessMaker/Project/Adapter/BpmnWorkflow.php b/workflow/engine/src/ProcessMaker/Project/Adapter/BpmnWorkflow.php index 902e075e8..0235e922c 100755 --- a/workflow/engine/src/ProcessMaker/Project/Adapter/BpmnWorkflow.php +++ b/workflow/engine/src/ProcessMaker/Project/Adapter/BpmnWorkflow.php @@ -1384,10 +1384,6 @@ class BpmnWorkflow extends Project\Bpmn $activity = $bwp->getActivity($activityData["ACT_UID"]); - if ($activity["BOU_CONTAINER"] != $activityData["BOU_CONTAINER"]) { - $activity = null; - } - if ($forceInsert || is_null($activity)) { if ($generateUid) { //Generate and update UID diff --git a/workflow/engine/src/ProcessMaker/Services/OAuth2/Server.php b/workflow/engine/src/ProcessMaker/Services/OAuth2/Server.php index 9c74bd208..72f288b38 100644 --- a/workflow/engine/src/ProcessMaker/Services/OAuth2/Server.php +++ b/workflow/engine/src/ProcessMaker/Services/OAuth2/Server.php @@ -309,17 +309,9 @@ class Server implements iAuthenticate if ($returnResponse) { return $response; } else { - if ($response->getStatusCode() == 400) { - $msg = $response->getParameter("error_description", ""); - $msg = ($msg != "")? $msg : $response->getParameter("error", ""); + $response->send(); - $rest = new \Maveriks\Extension\Restler(); - $rest->setMessage(new \Luracast\Restler\RestException(\ProcessMaker\Services\Api::STAT_APP_EXCEPTION, $msg)); - - exit(0); - } else { - $response->send(); - } + exit(0); } }