diff --git a/workflow/engine/classes/class.pmDynaform.php b/workflow/engine/classes/class.pmDynaform.php index f36345274..c3cdd9449 100644 --- a/workflow/engine/classes/class.pmDynaform.php +++ b/workflow/engine/classes/class.pmDynaform.php @@ -28,16 +28,18 @@ class pmDynaform //items $dynContent = G::json_decode($this->record["DYN_CONTENT"]); if (isset($dynContent->items)) { - $this->items = $dynContent->items[0]->items; - for($i=0; $iitems); $i++){ - for($j=0; $jitems[$i]); $j++){ - if($this->items[$i][$j]->required == 1){ + $this->items = $dynContent->items[0]->items; + $n = count($this->items); + for ($i = 0; $i < $n; $i++) { + $m = count($this->items[$i]); + for ($j = 0; $j < $m; $j++) { + if (isset($this->items[$i][$j]->required) && $this->items[$i][$j]->required == 1) { array_push($this->arrayFieldRequired, $this->items[$i][$j]->name); - } + } } - } + } } - + if(!empty($app_data) && isset($app_data["APPLICATION"])){ //data $cases = new \ProcessMaker\BusinessModel\Cases(); @@ -77,7 +79,7 @@ class pmDynaform } //query $arrayVariable = array(); - if ($row["VAR_DBCONNECTION"] !== "none") { + if ($row["VAR_DBCONNECTION"] !== "none" && $row["VAR_SQL"] !== "") { $cnn = Propel::getConnection($row["VAR_DBCONNECTION"]); $stmt = $cnn->createStatement(); $rs = $stmt->executeQuery(\G::replaceDataField($row["VAR_SQL"], $arrayVariable), \ResultSet::FETCHMODE_NUM); diff --git a/workflow/engine/classes/model/CaseScheduler.php b/workflow/engine/classes/model/CaseScheduler.php index 05ec7dda7..9e23044bd 100755 --- a/workflow/engine/classes/model/CaseScheduler.php +++ b/workflow/engine/classes/model/CaseScheduler.php @@ -53,8 +53,10 @@ class CaseScheduler extends BaseCaseScheduler throw ($e); } $con->commit(); - + //Add Audit Log + $perform = $aData["SCH_OPTION"]; + switch ($aData['SCH_OPTION']) { case '1': $perform = 'Daily'; @@ -71,10 +73,10 @@ class CaseScheduler extends BaseCaseScheduler case '5': $perform = 'Every'; break; - + } G::auditLog("CreateCaseScheduler", "Scheduler Name: ".$aData['SCH_NAME'].", Task: ".$aData['TAS_UID'].", Perform this task: ".$perform.", Start Date: ".$aData['SCH_START_DATE'].", End Date: ".$aData['SCH_END_DATE'].", Execution time : ".$aData['SCH_START_TIME']); - + return $result; } catch (Exception $e) { $con->rollback(); @@ -92,7 +94,7 @@ class CaseScheduler extends BaseCaseScheduler if ($this->validate()) { $result = $this->save(); $con->commit(); - + //Add Audit Log switch ($fields['SCH_OPTION']){ case '1': @@ -112,7 +114,7 @@ class CaseScheduler extends BaseCaseScheduler break; } G::auditLog("UpdateCaseScheduler", "Scheduler Name: ".$fields['SCH_NAME'].", Task: ".$fields['TAS_UID'].", Perform this task: ".$perform.", Start Date: ".$fields['SCH_START_DATE'].", End Date: ".$fields['SCH_END_DATE'].", Execution time : ".$fields['SCH_START_TIME']); - + return $result; } else { $con->rollback(); @@ -135,7 +137,7 @@ class CaseScheduler extends BaseCaseScheduler $con->commit(); //Add Audit Log G::auditLog("DeleteCaseScheduler", "Scheduler Name: ".$fields['SCH_NAME'].", Task: ".$fields['TAS_UID']); - + return $iResult; } else { throw (new Exception( 'This row doesn\'t exist!' )); diff --git a/workflow/engine/src/ProcessMaker/Project/Adapter/BpmnWorkflow.php b/workflow/engine/src/ProcessMaker/Project/Adapter/BpmnWorkflow.php index 82dba105b..5edd19296 100755 --- a/workflow/engine/src/ProcessMaker/Project/Adapter/BpmnWorkflow.php +++ b/workflow/engine/src/ProcessMaker/Project/Adapter/BpmnWorkflow.php @@ -17,10 +17,11 @@ class BpmnWorkflow extends Project\Bpmn */ protected $wp; - const BPMN_GATEWAY_COMPLEX = "COMPLEX"; - const BPMN_GATEWAY_PARALLEL = "PARALLEL"; - const BPMN_GATEWAY_INCLUSIVE = "INCLUSIVE"; - const BPMN_GATEWAY_EXCLUSIVE = "EXCLUSIVE"; + const BPMN_GATEWAY_COMPLEX = "COMPLEX"; + const BPMN_GATEWAY_PARALLEL = "PARALLEL"; + const BPMN_GATEWAY_INCLUSIVE = "INCLUSIVE"; + const BPMN_GATEWAY_EXCLUSIVE = "EXCLUSIVE"; + const BPMN_GATEWAY_EVENTBASED = "EVENTBASED"; private $arrayTaskAttribute = array( "gateway-to-gateway" => array("type" => "GATEWAYTOGATEWAY", "prefix" => "gtg-"), @@ -674,6 +675,11 @@ class BpmnWorkflow extends Project\Bpmn } } break; + //case "TO_DO": + case self::BPMN_GATEWAY_EVENTBASED: + $routeType = "EVALUATE"; + break; + //default default: throw new \LogicException("Unsupported Gateway type: " . $arrayGatewayData["GAT_TYPE"]); break;