diff --git a/workflow/engine/classes/class.derivation.php b/workflow/engine/classes/class.derivation.php
index ccbed3357..8ef8cd3a3 100755
--- a/workflow/engine/classes/class.derivation.php
+++ b/workflow/engine/classes/class.derivation.php
@@ -114,11 +114,10 @@ class Derivation
$arrayTaskData["NEXT_TASK"]["TAS_PARENT"] = "";
}
- $regexpTaskTypeToExclude = "GATEWAYTOGATEWAY|END-MESSAGE-EVENT|SCRIPT-TASK|INTERMEDIATE-CATCH-TIMER-EVENT|END-EMAIL-EVENT";
+ $regexpTaskTypeToExclude = "GATEWAYTOGATEWAY|END-MESSAGE-EVENT|SCRIPT-TASK|INTERMEDIATE-CATCH-TIMER-EVENT|END-EMAIL-EVENT|INTERMEDIATE-THROW-EMAIL-EVENT";
$arrayTaskData["NEXT_TASK"]["USER_ASSIGNED"] = (!preg_match("/^(?:" . $regexpTaskTypeToExclude . ")$/", $arrayTaskData["NEXT_TASK"]["TAS_TYPE"]))? $this->getNextAssignedUser($arrayTaskData) : array("USR_UID" => "", "USR_FULLNAME" => "");
}
-
//Return
return $arrayTaskData;
} catch (Exception $e) {
@@ -150,14 +149,6 @@ class Derivation
$arrayNextTaskDefault = array();
$i = 0;
- //SELECT *
- //FROM APP_DELEGATION AS A
- //LEFT JOIN TASK AS T ON(T.TAS_UID = A.TAS_UID)
- //LEFT JOIN ROUTE AS R ON(R.TAS_UID = A.TAS_UID)
- //WHERE
- //APP_UID = '$arrayData["APP_UID"]'
- //AND DEL_INDEX = '$arrayData["DEL_INDEX"]'
-
$criteria = new Criteria("workflow");
$criteria->addSelectColumn(RoutePeer::TAS_UID);
@@ -271,7 +262,7 @@ class Derivation
}
}
} else {
- $regexpTaskTypeToInclude = "END-MESSAGE-EVENT|END-EMAIL-EVENT";
+ $regexpTaskTypeToInclude = "END-MESSAGE-EVENT|END-EMAIL-EVENT|INTERMEDIATE-THROW-EMAIL-EVENT";
if ($arrayNextTaskData["NEXT_TASK"]["TAS_UID"] == "-1" &&
preg_match("/^(?:" . $regexpTaskTypeToInclude . ")$/", $arrayNextTaskData["TAS_TYPE"])
@@ -329,13 +320,6 @@ class Derivation
*/
function getRouteCondition ($aData)
{
- //SELECT *
- //FROM APP_DELEGATION AS A
- //LEFT JOIN TASK AS T ON(T.TAS_UID = A.TAS_UID)
- //LEFT JOIN ROUTE AS R ON(R.TAS_UID = A.TAS_UID)
- //WHERE
- //APP_UID = '$aData['APP_UID']'
- //AND DEL_INDEX = '$aData['DEL_INDEX']'
$c = new Criteria( 'workflow' );
$c->clearSelectColumns();
$c->addSelectColumn( AppDelegationPeer::TAS_UID );
@@ -506,22 +490,10 @@ class Derivation
*/
function getNextAssignedUser ($tasInfo)
{
- //$oUser = new Users();
$nextAssignedTask = $tasInfo['NEXT_TASK'];
$lastAssigned = $tasInfo['NEXT_TASK']['TAS_LAST_ASSIGNED'];
$sTasUid = $tasInfo['NEXT_TASK']['TAS_UID'];
- //// to do: we can increase the LOCATION by COUNTRY, STATE and LOCATION
- ///* Verify if the next Task is set with the option "TAS_ASSIGN_LOCATION == TRUE" */
- //$assignLocation = '';
- //if ($tasInfo['NEXT_TASK']['TAS_ASSIGN_LOCATION'] == 'TRUE') {
- // $oUser->load( $tasInfo['USER_UID'] );
- // krumo( $oUser->getUsrLocation() );
- // //to do: assign for location
- // //$assignLocation = " AND USR_LOCATION = " . $oUser->Fields['USR_LOCATION'];
- //}
- ///* End - Verify if the next Task is set with the option "TAS_ASSIGN_LOCATION == TRUE" */
-
$taskNext = TaskPeer::retrieveByPK($nextAssignedTask["TAS_UID"]);
$bpmnActivityNext = BpmnActivityPeer::retrieveByPK($nextAssignedTask["TAS_UID"]);
@@ -671,239 +643,90 @@ class Derivation
}
/**
- * Throw Events for the Case
+ * Execute Event
*
- * @param string $elementOriginUid Unique id of Element Origin (unique id of Task)
- * @param string $elementDestUid Unique id of Element Destination (unique id of Task)
- * @param array $arrayApplicationData Case data
+ * @param string $dummyTaskUid Unique id of Element Origin (unique id of Task) This is the nextTask
+ * @param array $applicationData Case data
* @param bool $flagEventExecuteBeforeGateway Execute event before gateway
* @param bool $flagEventExecuteAfterGateway Execute event after gateway
*
* @return void
*/
- private function throwEventsBetweenElementOriginAndElementDest($elementOriginUid, $elementDestUid, array $arrayApplicationData, $flagEventExecuteBeforeGateway = true, $flagEventExecuteAfterGateway = true, $rouCondition="")
+ private function executeEvent($dummyTaskUid, array $applicationData, $flagEventExecuteBeforeGateway = true, $flagEventExecuteAfterGateway = true, $elementOriUid='')
{
try {
//Verify if the Project is BPMN
$bpmn = new \ProcessMaker\Project\Bpmn();
- if (!$bpmn->exists($arrayApplicationData["PRO_UID"])) {
+ if (!$bpmn->exists($applicationData["PRO_UID"])) {
return;
}
//Element origin and dest
+ $arrayElement = array();
$elementTaskRelation = new \ProcessMaker\BusinessModel\ElementTaskRelation();
-
- $arrayElement = [
- "elementOrigin" => ["uid" => $elementOriginUid, "type" => "bpmnActivity"],
- "elementDest" => ["uid" => $elementDestUid, "type" => "bpmnActivity"]
- ];
-
- foreach ($arrayElement as $key => $value) {
- $arrayElementTaskRelationData = $elementTaskRelation->getElementTaskRelationWhere(
+ $arrayElementTaskRelationData = $elementTaskRelation->getElementTaskRelationWhere(
[
- ElementTaskRelationPeer::PRJ_UID => $arrayApplicationData["PRO_UID"],
+ ElementTaskRelationPeer::PRJ_UID => $applicationData["PRO_UID"],
ElementTaskRelationPeer::ELEMENT_TYPE => "bpmnEvent",
- ElementTaskRelationPeer::TAS_UID => $arrayElement[$key]["uid"]
+ ElementTaskRelationPeer::TAS_UID => $dummyTaskUid
],
true
+ );
+ if(is_null($arrayElementTaskRelationData)){
+ $arrayOtherElement = array();
+ $arrayOtherElement = $bpmn->getElementsBetweenElementOriginAndElementDest(
+ $elementOriUid,
+ "bpmnActivity",
+ $dummyTaskUid,
+ "bpmnActivity"
);
-
- if (!is_null($arrayElementTaskRelationData)) {
- $arrayElement[$key]["uid"] = $arrayElementTaskRelationData["ELEMENT_UID"];
- $arrayElement[$key]["type"] = "bpmnEvent";
+ $count = 0;
+ foreach ($arrayOtherElement as $value) {
+ if($value[1] === 'bpmnEvent'){
+ $arrayElement[$count]["uid"] = $value[0];
+ $arrayElement[$count++]["type"] = $value[1];
+ }
}
}
-
- $elementOriginUid = $arrayElement["elementOrigin"]["uid"];
- $elementOriginType = $arrayElement["elementOrigin"]["type"];
- $elementDestUid = $arrayElement["elementDest"]["uid"];
- $elementDestType = $arrayElement["elementDest"]["type"];
+ if (!is_null($arrayElementTaskRelationData)) {
+ $arrayElement[0]["uid"] = $arrayElementTaskRelationData["ELEMENT_UID"];
+ $arrayElement[0]["type"] = "bpmnEvent";
+ }
//Throw Events
$messageApplication = new \ProcessMaker\BusinessModel\MessageApplication();
$emailEvent = new \ProcessMaker\BusinessModel\EmailEvent();
-
$arrayEventExecute = ["BEFORE" => $flagEventExecuteBeforeGateway, "AFTER" => $flagEventExecuteAfterGateway];
$positionEventExecute = "BEFORE";
- $arrayElement = $bpmn->getElementsBetweenElementOriginAndElementDest(
- $elementOriginUid,
- $elementOriginType,
- $elementDestUid,
- $elementDestType
- );
+ if(sizeof($arrayElement)){
+ foreach ($arrayElement as $value) {
+ switch ($value['type']) {
+ case 'bpmnEvent':
+ if ($arrayEventExecute[$positionEventExecute]) {
+ $event = \BpmnEventPeer::retrieveByPK($value['uid']);
- //Search next is INTERMEDIATE and MESSAGECATCH
- $searchMessageCatch = false;
- if($elementDestType === 'bpmnEvent'){
- $c = new Criteria("workflow");
- $c->addSelectColumn(BpmnEventPeer::EVN_TYPE);
- $c->addSelectColumn(BpmnEventPeer::EVN_MARKER);
- $c->add(BpmnEventPeer::EVN_UID, $elementDestUid);
- $c->add(BpmnEventPeer::PRJ_UID, $arrayApplicationData["PRO_UID"]);
- $rsC = RoutePeer::doSelectRS($c);
- $rsC->setFetchmode(ResultSet::FETCHMODE_ASSOC);
+ if (!is_null($event)) {
+ if (preg_match("/^(?:END|INTERMEDIATE)$/", $event->getEvnType()) && $event->getEvnMarker() === 'MESSAGETHROW') {
+ //Message-Application throw
+ $result = $messageApplication->create($applicationData["APP_UID"], $applicationData["PRO_UID"], $value['uid'], $applicationData);
+ }
- if($rsC->next()){
- $row = $rsC->getRow();
- if($row['EVN_TYPE'] === 'INTERMEDIATE' && $row['EVN_MARKER'] === 'MESSAGECATCH'){
- $searchMessageCatch = true;
- }
- }
- }
- if($elementDestUid === '-1' || count($arrayElement) === 0 || $searchMessageCatch){
- $arrayElement = $this->throwElementToEnd($elementOriginUid, $rouCondition);
- }
-
- foreach ($arrayElement as $value) {
- switch ($value[1]) {
- case 'bpmnEvent':
- if ($arrayEventExecute[$positionEventExecute]) {
- $event = \BpmnEventPeer::retrieveByPK($value[0]);
-
- if (!is_null($event)) {
- if (preg_match("/^(?:END|INTERMEDIATE)$/", $event->getEvnType()) && $event->getEvnMarker() === 'MESSAGETHROW') {
- //Message-Application throw
- $result = $messageApplication->create($arrayApplicationData["APP_UID"], $arrayApplicationData["PRO_UID"], $value[0], $arrayApplicationData);
- }
-
- if (preg_match("/^(?:END|INTERMEDIATE)$/", $event->getEvnType()) && $event->getEvnMarker() === 'EMAIL') {
- //Email-Event throw
- $result = $emailEvent->sendEmail($arrayApplicationData["APP_UID"], $arrayApplicationData["PRO_UID"], $value[0], $arrayApplicationData);
+ if (preg_match("/^(?:END|INTERMEDIATE)$/", $event->getEvnType()) && $event->getEvnMarker() === 'EMAIL') {
+ //Email-Event throw
+ $result = $emailEvent->sendEmail($applicationData["APP_UID"], $applicationData["PRO_UID"], $value['uid'], $applicationData);
+ }
}
}
- }
- break;
- case 'bpmnGateway':
- $positionEventExecute = 'AFTER';
- break;
- }
- }
- } catch (Exception $e) {
- throw $e;
- }
- }
-
- /**
- * Throw all events to End Process
- *
- * @param string $currentTask Task uid
- *
- * @return void
- */
- private function throwElementToEnd($currentTask, $routeCondition){
- try{
- $bpmnFlow = new BpmnFlow();
- $rsCriFlow = $bpmnFlow->getElementOriginToElementDest($currentTask);
- $arrayElement = array();
- $count = 0;
- $continue = false;
- if($rsCriFlow->next()){
- $continue = true;
- $row = $rsCriFlow->getRow();
- }
- while ($continue) {
- $array[0] = $row["FLO_ELEMENT_DEST"];
- $array[1] = $row["FLO_ELEMENT_DEST_TYPE"];
- $arrayElement[$count++] = $array;
- $continue = false;
- if($rsCriFlow->next()){
- $continue = true;
- $row = $rsCriFlow->getRow();
- }else{
- $rsCriFlow = $bpmnFlow->getElementOriginToElementDest($row["FLO_ELEMENT_DEST"],$routeCondition,"bpmnEvent");
- $routeCondition = '';
- $continue = false;
- if($rsCriFlow->next()){
- $continue = true;
- $row = $rsCriFlow->getRow();
+ break;
+ case 'bpmnGateway':
+ $positionEventExecute = 'AFTER';
+ break;
}
}
}
- return $arrayElement;
- } catch (Exception $e) {
- throw $e;
- }
- }
- /**
- * Throw Events for the Case
- *
- * @param string $currentTask Task uid
- *
- * @return void
- */
- private function throwAllRouteInFlow($currentTask,$appFields){
- $criFlow = new Criteria("workflow");
- $criFlow->addSelectColumn(BpmnFlowPeer::FLO_ELEMENT_ORIGIN);
- $criFlow->addSelectColumn(BpmnFlowPeer::FLO_ELEMENT_DEST);
- $criFlow->add(BpmnFlowPeer::FLO_ELEMENT_ORIGIN, $currentTask, Criteria::EQUAL);
- $rsCriFlow = RoutePeer::doSelectRS($criFlow);
- $rsCriFlow->setFetchmode(ResultSet::FETCHMODE_ASSOC);
- if($rsCriFlow->next()){
- $continue = true;
- $row = $rsCriFlow->getRow();
- }
- while ($continue) {
- $origin = $row["FLO_ELEMENT_ORIGIN"];
- $destiny = $row["FLO_ELEMENT_DEST"];
- $this->throwEventsElemntOriginToElementDest($destiny, $appFields);
- $currentDestiny = $destiny;
- $continue = false;
- if($rsCriFlow->next()){
- $continue = true;
- $row = $rsCriFlow->getRow();
- }else{
- //Search the next
- $criFlow = new Criteria("workflow");
- $criFlow->addSelectColumn(BpmnFlowPeer::FLO_ELEMENT_ORIGIN);
- $criFlow->addSelectColumn(BpmnFlowPeer::FLO_ELEMENT_DEST);
- $criFlow->add(BpmnFlowPeer::FLO_ELEMENT_ORIGIN, $currentDestiny, Criteria::EQUAL);
- $rsCriFlow = RoutePeer::doSelectRS($criFlow);
- $rsCriFlow->setFetchmode(ResultSet::FETCHMODE_ASSOC);
- $continue = false;
- if($rsCriFlow->next()){
- $continue = true;
- $row = $rsCriFlow->getRow();
- }
- }
- }
- return $currentDestiny;
- }
-
- /**
- * Throw Events for the Case
- *
- * @param string $eventUid Unique id of Event
- * @param array $appFields Case data
- *
- * @return void
- */
- private function throwEventsElemntOriginToElementDest($eventUid, $appFields){
- try {
- //Verify if the Project is BPMN
- $bpmn = new \ProcessMaker\Project\Bpmn();
-
- if (!$bpmn->exists($appFields["PRO_UID"])) {
- return;
- }
- //Throw Events
- $messageApplication = new \ProcessMaker\BusinessModel\MessageApplication();
- $emailEvent = new \ProcessMaker\BusinessModel\EmailEvent();
-
- $event = \BpmnEventPeer::retrieveByPK($eventUid);
- if (!is_null($event)) {
- if (preg_match("/^(?:END|INTERMEDIATE)$/", $event->getEvnType()) && $event->getEvnMarker() == "MESSAGETHROW") {
- //Message-Application throw
- $result = $messageApplication->create($appFields["APP_UID"], $appFields["PRO_UID"], $value[0], $appFields);
- }
-
- if (preg_match("/^(?:END|INTERMEDIATE)$/", $event->getEvnType()) && $event->getEvnMarker() == "EMAIL") {
- //Email-Event throw
- $result = $emailEvent->sendEmail($appFields["APP_UID"], $appFields["PRO_UID"], $eventUid, $appFields);
- }
- }
} catch (Exception $e) {
throw $e;
}
@@ -1035,7 +858,7 @@ class Derivation
$flagFirstIteration = true;
foreach ($nextDelegations as $nextDel) {
- //BpmnEvent - END-MESSAGE-EVENT, END-EMAIL-EVENT
+ //BpmnEvent - END-MESSAGE-EVENT, END-EMAIL-EVENT, INTERMEDIATE-THROW-EMAIL-EVENT
//Check and get unique id
if (preg_match("/^(.{32})\/(\-1)$/", $nextDel["TAS_UID"], $arrayMatch)) {
$nextDel["TAS_UID"] = $arrayMatch[2];
@@ -1102,17 +925,14 @@ class Derivation
if (!isset($nextDel['ROU_CONDITION'])) {
$nextDel['ROU_CONDITION'] = '';
}
+ //Execute the Intermediate Event After the End of Process
+ $this->executeEvent($nextDel["TAS_UID"], $appFields, true, true);
if (isset($nextDel["TAS_UID_DUMMY"]) ) {
$taskDummy = TaskPeer::retrieveByPK($nextDel["TAS_UID_DUMMY"]);
if (preg_match("/^(?:END-MESSAGE-EVENT|END-EMAIL-EVENT)$/", $taskDummy->getTasType())) {
//Throw Events
- $this->throwEventsBetweenElementOriginAndElementDest($currentDelegation["TAS_UID"], $nextDel["TAS_UID_DUMMY"], $appFields, $flagFirstIteration, true, $nextDel['ROU_CONDITION']);
- } else {
- $this->throwEventsBetweenElementOriginAndElementDest($currentDelegation["TAS_UID"], $nextDel["TAS_UID"], $appFields, $flagFirstIteration, true, $nextDel['ROU_CONDITION']);
+ $this->executeEvent($nextDel["TAS_UID_DUMMY"], $appFields, $flagFirstIteration, true);
}
- } else {
- //BpmnEvent
- $this->throwEventsBetweenElementOriginAndElementDest($currentDelegation["TAS_UID"], $nextDel["TAS_UID"], $appFields, $flagFirstIteration, true, $nextDel['ROU_CONDITION']);
}
break;
case TASK_FINISH_TASK:
@@ -1194,8 +1014,11 @@ class Derivation
if(isset($nextDel['ROU_CONDITION'])){
$rouCondition = $nextDel['ROU_CONDITION'];
}
+ if(!isset($nextDel['USR_UID'])){
+ $nextDel['USR_UID'] = '';
+ }
//Throw Events
- $this->throwEventsBetweenElementOriginAndElementDest($currentDelegation["TAS_UID"], $nextDel["TAS_UID"], $appFields, $flagFirstIteration, true, $rouCondition);
+ $this->executeEvent($nextDel["TAS_UID"], $appFields, true, true, $currentDelegation["TAS_UID"]);
//Derivate
$aSP = (isset($aSP))? $aSP : null;
@@ -1239,7 +1062,7 @@ class Derivation
$appFields["APP_DATA"] = $scriptTask->execScriptByActivityUid($nextDel["TAS_UID"], $appFields);
//Create record in table APP_ASSIGN_SELF_SERVICE_VALUE
- $regexpTaskTypeToExclude = "SCRIPT-TASK";
+ $regexpTaskTypeToExclude = "SCRIPT-TASK|INTERMEDIATE-THROW-EMAIL-EVENT";
if (!is_null($taskNextDel) && !preg_match("/^(?:" . $regexpTaskTypeToExclude . ")$/", $taskNextDel->getTasType())) {
if ($taskNextDel->getTasAssignType() == "SELF_SERVICE" && trim($taskNextDel->getTasGroupVariable()) != "") {
@@ -1259,14 +1082,13 @@ class Derivation
}
//Check if $taskNextDel is Script-Task
- if (!is_null($taskNextDel) && $taskNextDel->getTasType() == "SCRIPT-TASK") {
+ if (!is_null($taskNextDel) && ($taskNextDel->getTasType() === "SCRIPT-TASK" || $taskNextDel->getTasType() === "INTERMEDIATE-THROW-EMAIL-EVENT")) {
//Get for $nextDel["TAS_UID"] your next Task
$currentDelegationAux = array_merge($currentDelegation, array("DEL_INDEX" => $iNewDelIndex, "TAS_UID" => $nextDel["TAS_UID"]));
$nextDelegationsAux = array();
$taskNextDelNextDelRouType = "";
$i = 0;
-
$arrayTaskNextDelNextDelegations = $this->prepareInformation(array(
"USER_UID" => $_SESSION["USER_LOGGED"],
"APP_UID" => $currentDelegation["APP_UID"],
@@ -1320,8 +1142,11 @@ class Derivation
switch ($routeType) {
case 'SEC-JOIN':
- //Throw Events
- $this->throwEventsBetweenElementOriginAndElementDest($currentDelegation["TAS_UID"], $nextDel["TAS_UID"], $appFields, $flagFirstIteration, false);
+ //If the all Siblings are done execute the events
+ if(sizeof($arraySiblings) === 0){
+ //Throw Events
+ $this->executeEvent($nextDel["TAS_UID"], $appFields, $flagFirstIteration, false);
+ }
//Close thread
$this->case->closeAppThread( $currentDelegation['APP_UID'], $iAppThreadIndex );
diff --git a/workflow/engine/classes/model/AppDelegation.php b/workflow/engine/classes/model/AppDelegation.php
index 7d4288c67..2d564a342 100755
--- a/workflow/engine/classes/model/AppDelegation.php
+++ b/workflow/engine/classes/model/AppDelegation.php
@@ -190,7 +190,6 @@ class AppDelegation extends BaseAppDelegation
// Hook for the trigger PM_CREATE_NEW_DELEGATION
if (defined( 'PM_CREATE_NEW_DELEGATION' )) {
-
$bpmn = new \ProcessMaker\Project\Bpmn();
$flagActionsByEmail = true;
diff --git a/workflow/engine/classes/model/ListInbox.php b/workflow/engine/classes/model/ListInbox.php
index 2c07ae0e8..28e7a6c64 100644
--- a/workflow/engine/classes/model/ListInbox.php
+++ b/workflow/engine/classes/model/ListInbox.php
@@ -264,7 +264,7 @@ class ListInbox extends BaseListInbox
$dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$dataset->next();
$aRow = $dataset->getRow();
- if ($aRow['CON_VALUE'] == '') {
+ if ($aRow['CON_VALUE'] == '') {
$criteria = new Criteria();
$criteria->addSelectColumn(ContentPeer::CON_VALUE);
$criteria->add( ContentPeer::CON_ID, $data['APP_UID'], Criteria::EQUAL );
@@ -306,6 +306,11 @@ class ListInbox extends BaseListInbox
$data['APP_PREVIOUS_USER'] = '';
+ if($data['DEL_PREVIOUS_USR_UID'] === ''){
+ global $RBAC;
+ $aUser = $RBAC->aUserInfo['USER_INFO'];
+ $data['DEL_PREVIOUS_USR_UID'] = $aUser['USR_UID'];
+ }
if ($data['DEL_PREVIOUS_USR_UID'] != '') {
$criteria = new Criteria();
$criteria->addSelectColumn(UsersPeer::USR_USERNAME);
diff --git a/workflow/engine/classes/model/Process.php b/workflow/engine/classes/model/Process.php
index d9548bf77..4c9812c0c 100755
--- a/workflow/engine/classes/model/Process.php
+++ b/workflow/engine/classes/model/Process.php
@@ -188,6 +188,7 @@ class Process extends BaseProcess
$this->setProWidth( 10000 );
$this->setProTitleX( 0 );
$this->setProTitleY( 0 );
+ $this->setProItee( 1 );
$this->setProDynaforms( isset( $aData['PRO_DYNAFORMS'] ) ? (is_array( $aData['PRO_DYNAFORMS'] ) ? serialize( $aData['PRO_DYNAFORMS'] ) : $aData['PRO_DYNAFORMS']) : '' );
if ($this->validate()) {
diff --git a/workflow/engine/classes/model/map/ProcessMapBuilder.php b/workflow/engine/classes/model/map/ProcessMapBuilder.php
index 087ea7644..55a4a6b16 100755
--- a/workflow/engine/classes/model/map/ProcessMapBuilder.php
+++ b/workflow/engine/classes/model/map/ProcessMapBuilder.php
@@ -135,6 +135,8 @@ class ProcessMapBuilder
$tMap->addColumn('PRO_UNIT_COST', 'ProUnitCost', 'string', CreoleTypes::VARCHAR, false, 50);
+ $tMap->addColumn('PRO_ITEE', 'ProItee', 'int', CreoleTypes::INTEGER, true, null);
+
$tMap->addValidator('PRO_TIMEUNIT', 'validValues', 'propel.validator.ValidValuesValidator', 'WEEKS|MONTHS|DAYS|HOURS|MINUTES', 'Please select a valid Time Unit.');
$tMap->addValidator('PRO_STATUS', 'validValues', 'propel.validator.ValidValuesValidator', 'ACTIVE|INACTIVE|DISABLED', 'Please select a valid Process Status.');
diff --git a/workflow/engine/classes/model/map/TaskMapBuilder.php b/workflow/engine/classes/model/map/TaskMapBuilder.php
index 44a3eb00e..4137208dd 100755
--- a/workflow/engine/classes/model/map/TaskMapBuilder.php
+++ b/workflow/engine/classes/model/map/TaskMapBuilder.php
@@ -159,7 +159,7 @@ class TaskMapBuilder
$tMap->addColumn('TAS_SELFSERVICE_EXECUTION', 'TasSelfserviceExecution', 'string', CreoleTypes::VARCHAR, false, 15);
- $tMap->addValidator('TAS_TYPE', 'validValues', 'propel.validator.ValidValuesValidator', 'NORMAL|ADHOC|SUBPROCESS|HIDDEN|GATEWAYTOGATEWAY|WEBENTRYEVENT|END-MESSAGE-EVENT|START-MESSAGE-EVENT|INTERMEDIATE-THROW-MESSAGE-EVENT|INTERMEDIATE-CATCH-MESSAGE-EVENT|SCRIPT-TASK|START-TIMER-EVENT|INTERMEDIATE-CATCH-TIMER-EVENT|END-EMAIL-EVENT', 'Please set a valid value for TAS_TYPE');
+ $tMap->addValidator('TAS_TYPE', 'validValues', 'propel.validator.ValidValuesValidator', 'NORMAL|ADHOC|SUBPROCESS|HIDDEN|GATEWAYTOGATEWAY|WEBENTRYEVENT|END-MESSAGE-EVENT|START-MESSAGE-EVENT|INTERMEDIATE-THROW-MESSAGE-EVENT|INTERMEDIATE-CATCH-MESSAGE-EVENT|SCRIPT-TASK|START-TIMER-EVENT|INTERMEDIATE-CATCH-TIMER-EVENT|END-EMAIL-EVENT|INTERMEDIATE-THROW-EMAIL-EVENT', 'Please set a valid value for TAS_TYPE');
$tMap->addValidator('TAS_TIMEUNIT', 'validValues', 'propel.validator.ValidValuesValidator', 'MINUTES|HOURS|DAYS|WEEKS|MONTHS', 'Please select a valid value for TAS_TIMEUNIT.');
diff --git a/workflow/engine/classes/model/om/BaseProcess.php b/workflow/engine/classes/model/om/BaseProcess.php
index ec86bef92..351e59cf7 100755
--- a/workflow/engine/classes/model/om/BaseProcess.php
+++ b/workflow/engine/classes/model/om/BaseProcess.php
@@ -237,6 +237,12 @@ abstract class BaseProcess extends BaseObject implements Persistent
*/
protected $pro_unit_cost = '';
+ /**
+ * The value for the pro_debug field.
+ * @var int
+ */
+ protected $pro_itee = 1;
+
/**
* Flag to prevent endless save loop, if this object is referenced
* by another object which falls in this transaction.
@@ -678,6 +684,17 @@ abstract class BaseProcess extends BaseObject implements Persistent
return $this->pro_unit_cost;
}
+ /**
+ * Get the [pro_itee] column value.
+ *
+ * @return string
+ */
+ public function getProItee()
+ {
+
+ return $this->pro_itee;
+ }
+
/**
* Set the value of [pro_uid] column.
*
@@ -1450,6 +1467,28 @@ abstract class BaseProcess extends BaseObject implements Persistent
} // setProUnitCost()
+ /**
+ * Set the value of [pro_itee] column.
+ *
+ * @param int $v new value
+ * @return void
+ */
+ public function setProItee($v)
+ {
+
+ // Since the native PHP type for this column is integer,
+ // we will cast the input value to an int (if it is not).
+ if ($v !== null && !is_int($v) && is_numeric($v)) {
+ $v = (int) $v;
+ }
+
+ if ($this->pro_itee !== $v || $v === 1) {
+ $this->pro_itee = $v;
+ $this->modifiedColumns[] = ProcessPeer::PRO_ITEE;
+ }
+
+ } // setProItee()
+
/**
* Hydrates (populates) the object variables with values from the database resultset.
*
@@ -1537,12 +1576,14 @@ abstract class BaseProcess extends BaseObject implements Persistent
$this->pro_unit_cost = $rs->getString($startcol + 34);
+ $this->pro_itee = $rs->getString($startcol + 35);
+
$this->resetModified();
$this->setNew(false);
// FIXME - using NUM_COLUMNS may be clearer.
- return $startcol + 35; // 35 = ProcessPeer::NUM_COLUMNS - ProcessPeer::NUM_LAZY_LOAD_COLUMNS).
+ return $startcol + 36; // 36 = ProcessPeer::NUM_COLUMNS - ProcessPeer::NUM_LAZY_LOAD_COLUMNS).
} catch (Exception $e) {
throw new PropelException("Error populating Process object", $e);
@@ -1851,6 +1892,9 @@ abstract class BaseProcess extends BaseObject implements Persistent
case 34:
return $this->getProUnitCost();
break;
+ case 35:
+ return $this->getProItee();
+ break;
default:
return null;
break;
@@ -1906,6 +1950,7 @@ abstract class BaseProcess extends BaseObject implements Persistent
$keys[32] => $this->getProDerivationScreenTpl(),
$keys[33] => $this->getProCost(),
$keys[34] => $this->getProUnitCost(),
+ $keys[35] => $this->getProItee(),
);
return $result;
}
@@ -2042,6 +2087,9 @@ abstract class BaseProcess extends BaseObject implements Persistent
case 34:
$this->setProUnitCost($value);
break;
+ case 35:
+ $this->setProItee($value);
+ break;
} // switch()
}
@@ -2205,6 +2253,10 @@ abstract class BaseProcess extends BaseObject implements Persistent
$this->setProUnitCost($arr[$keys[34]]);
}
+ if (array_key_exists($keys[35], $arr)) {
+ $this->setProItee($arr[$keys[35]]);
+ }
+
}
/**
@@ -2356,6 +2408,10 @@ abstract class BaseProcess extends BaseObject implements Persistent
$criteria->add(ProcessPeer::PRO_UNIT_COST, $this->pro_unit_cost);
}
+ if ($this->isColumnModified(ProcessPeer::PRO_ITEE)) {
+ $criteria->add(ProcessPeer::PRO_ITEE, $this->pro_itee);
+ }
+
return $criteria;
}
@@ -2478,6 +2534,8 @@ abstract class BaseProcess extends BaseObject implements Persistent
$copyObj->setProUnitCost($this->pro_unit_cost);
+ $copyObj->setProItee($this->pro_itee);
+
$copyObj->setNew(true);
diff --git a/workflow/engine/classes/model/om/BaseProcessPeer.php b/workflow/engine/classes/model/om/BaseProcessPeer.php
index 11aea4ff8..0bcfd8be5 100755
--- a/workflow/engine/classes/model/om/BaseProcessPeer.php
+++ b/workflow/engine/classes/model/om/BaseProcessPeer.php
@@ -136,6 +136,9 @@ abstract class BaseProcessPeer
/** the column name for the PRO_UNIT_COST field */
const PRO_UNIT_COST = 'PROCESS.PRO_UNIT_COST';
+ /** the column name for the PRO_ITEE field */
+ const PRO_ITEE = 'PROCESS.PRO_ITEE';
+
/** The PHP to DB Name Mapping */
private static $phpNameMap = null;
@@ -147,10 +150,10 @@ abstract class BaseProcessPeer
* e.g. self::$fieldNames[self::TYPE_PHPNAME][0] = 'Id'
*/
private static $fieldNames = array (
- BasePeer::TYPE_PHPNAME => array ('ProUid', 'ProParent', 'ProTime', 'ProTimeunit', 'ProStatus', 'ProTypeDay', 'ProType', 'ProAssignment', 'ProShowMap', 'ProShowMessage', 'ProSubprocess', 'ProTriOpen', 'ProTriDeleted', 'ProTriCanceled', 'ProTriPaused', 'ProTriReassigned', 'ProTriUnpaused', 'ProTypeProcess', 'ProShowDelegate', 'ProShowDynaform', 'ProCategory', 'ProSubCategory', 'ProIndustry', 'ProUpdateDate', 'ProCreateDate', 'ProCreateUser', 'ProHeight', 'ProWidth', 'ProTitleX', 'ProTitleY', 'ProDebug', 'ProDynaforms', 'ProDerivationScreenTpl', 'ProCost', 'ProUnitCost', ),
- BasePeer::TYPE_COLNAME => array (ProcessPeer::PRO_UID, ProcessPeer::PRO_PARENT, ProcessPeer::PRO_TIME, ProcessPeer::PRO_TIMEUNIT, ProcessPeer::PRO_STATUS, ProcessPeer::PRO_TYPE_DAY, ProcessPeer::PRO_TYPE, ProcessPeer::PRO_ASSIGNMENT, ProcessPeer::PRO_SHOW_MAP, ProcessPeer::PRO_SHOW_MESSAGE, ProcessPeer::PRO_SUBPROCESS, ProcessPeer::PRO_TRI_OPEN, ProcessPeer::PRO_TRI_DELETED, ProcessPeer::PRO_TRI_CANCELED, ProcessPeer::PRO_TRI_PAUSED, ProcessPeer::PRO_TRI_REASSIGNED, ProcessPeer::PRO_TRI_UNPAUSED, ProcessPeer::PRO_TYPE_PROCESS, ProcessPeer::PRO_SHOW_DELEGATE, ProcessPeer::PRO_SHOW_DYNAFORM, ProcessPeer::PRO_CATEGORY, ProcessPeer::PRO_SUB_CATEGORY, ProcessPeer::PRO_INDUSTRY, ProcessPeer::PRO_UPDATE_DATE, ProcessPeer::PRO_CREATE_DATE, ProcessPeer::PRO_CREATE_USER, ProcessPeer::PRO_HEIGHT, ProcessPeer::PRO_WIDTH, ProcessPeer::PRO_TITLE_X, ProcessPeer::PRO_TITLE_Y, ProcessPeer::PRO_DEBUG, ProcessPeer::PRO_DYNAFORMS, ProcessPeer::PRO_DERIVATION_SCREEN_TPL, ProcessPeer::PRO_COST, ProcessPeer::PRO_UNIT_COST, ),
- BasePeer::TYPE_FIELDNAME => array ('PRO_UID', 'PRO_PARENT', 'PRO_TIME', 'PRO_TIMEUNIT', 'PRO_STATUS', 'PRO_TYPE_DAY', 'PRO_TYPE', 'PRO_ASSIGNMENT', 'PRO_SHOW_MAP', 'PRO_SHOW_MESSAGE', 'PRO_SUBPROCESS', 'PRO_TRI_OPEN', 'PRO_TRI_DELETED', 'PRO_TRI_CANCELED', 'PRO_TRI_PAUSED', 'PRO_TRI_REASSIGNED', 'PRO_TRI_UNPAUSED', 'PRO_TYPE_PROCESS', 'PRO_SHOW_DELEGATE', 'PRO_SHOW_DYNAFORM', 'PRO_CATEGORY', 'PRO_SUB_CATEGORY', 'PRO_INDUSTRY', 'PRO_UPDATE_DATE', 'PRO_CREATE_DATE', 'PRO_CREATE_USER', 'PRO_HEIGHT', 'PRO_WIDTH', 'PRO_TITLE_X', 'PRO_TITLE_Y', 'PRO_DEBUG', 'PRO_DYNAFORMS', 'PRO_DERIVATION_SCREEN_TPL', 'PRO_COST', 'PRO_UNIT_COST', ),
- BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, )
+ BasePeer::TYPE_PHPNAME => array ('ProUid', 'ProParent', 'ProTime', 'ProTimeunit', 'ProStatus', 'ProTypeDay', 'ProType', 'ProAssignment', 'ProShowMap', 'ProShowMessage', 'ProSubprocess', 'ProTriOpen', 'ProTriDeleted', 'ProTriCanceled', 'ProTriPaused', 'ProTriReassigned', 'ProTriUnpaused', 'ProTypeProcess', 'ProShowDelegate', 'ProShowDynaform', 'ProCategory', 'ProSubCategory', 'ProIndustry', 'ProUpdateDate', 'ProCreateDate', 'ProCreateUser', 'ProHeight', 'ProWidth', 'ProTitleX', 'ProTitleY', 'ProDebug', 'ProDynaforms', 'ProDerivationScreenTpl', 'ProCost', 'ProUnitCost', 'ProItee', ),
+ BasePeer::TYPE_COLNAME => array (ProcessPeer::PRO_UID, ProcessPeer::PRO_PARENT, ProcessPeer::PRO_TIME, ProcessPeer::PRO_TIMEUNIT, ProcessPeer::PRO_STATUS, ProcessPeer::PRO_TYPE_DAY, ProcessPeer::PRO_TYPE, ProcessPeer::PRO_ASSIGNMENT, ProcessPeer::PRO_SHOW_MAP, ProcessPeer::PRO_SHOW_MESSAGE, ProcessPeer::PRO_SUBPROCESS, ProcessPeer::PRO_TRI_OPEN, ProcessPeer::PRO_TRI_DELETED, ProcessPeer::PRO_TRI_CANCELED, ProcessPeer::PRO_TRI_PAUSED, ProcessPeer::PRO_TRI_REASSIGNED, ProcessPeer::PRO_TRI_UNPAUSED, ProcessPeer::PRO_TYPE_PROCESS, ProcessPeer::PRO_SHOW_DELEGATE, ProcessPeer::PRO_SHOW_DYNAFORM, ProcessPeer::PRO_CATEGORY, ProcessPeer::PRO_SUB_CATEGORY, ProcessPeer::PRO_INDUSTRY, ProcessPeer::PRO_UPDATE_DATE, ProcessPeer::PRO_CREATE_DATE, ProcessPeer::PRO_CREATE_USER, ProcessPeer::PRO_HEIGHT, ProcessPeer::PRO_WIDTH, ProcessPeer::PRO_TITLE_X, ProcessPeer::PRO_TITLE_Y, ProcessPeer::PRO_DEBUG, ProcessPeer::PRO_DYNAFORMS, ProcessPeer::PRO_DERIVATION_SCREEN_TPL, ProcessPeer::PRO_COST, ProcessPeer::PRO_UNIT_COST, ProcessPeer::PRO_ITEE, ),
+ BasePeer::TYPE_FIELDNAME => array ('PRO_UID', 'PRO_PARENT', 'PRO_TIME', 'PRO_TIMEUNIT', 'PRO_STATUS', 'PRO_TYPE_DAY', 'PRO_TYPE', 'PRO_ASSIGNMENT', 'PRO_SHOW_MAP', 'PRO_SHOW_MESSAGE', 'PRO_SUBPROCESS', 'PRO_TRI_OPEN', 'PRO_TRI_DELETED', 'PRO_TRI_CANCELED', 'PRO_TRI_PAUSED', 'PRO_TRI_REASSIGNED', 'PRO_TRI_UNPAUSED', 'PRO_TYPE_PROCESS', 'PRO_SHOW_DELEGATE', 'PRO_SHOW_DYNAFORM', 'PRO_CATEGORY', 'PRO_SUB_CATEGORY', 'PRO_INDUSTRY', 'PRO_UPDATE_DATE', 'PRO_CREATE_DATE', 'PRO_CREATE_USER', 'PRO_HEIGHT', 'PRO_WIDTH', 'PRO_TITLE_X', 'PRO_TITLE_Y', 'PRO_DEBUG', 'PRO_DYNAFORMS', 'PRO_DERIVATION_SCREEN_TPL', 'PRO_COST', 'PRO_UNIT_COST', 'PRO_ITEE', ),
+ BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, )
);
/**
@@ -160,10 +163,10 @@ abstract class BaseProcessPeer
* e.g. self::$fieldNames[BasePeer::TYPE_PHPNAME]['Id'] = 0
*/
private static $fieldKeys = array (
- BasePeer::TYPE_PHPNAME => array ('ProUid' => 0, 'ProParent' => 1, 'ProTime' => 2, 'ProTimeunit' => 3, 'ProStatus' => 4, 'ProTypeDay' => 5, 'ProType' => 6, 'ProAssignment' => 7, 'ProShowMap' => 8, 'ProShowMessage' => 9, 'ProSubprocess' => 10, 'ProTriOpen' => 11, 'ProTriDeleted' => 12, 'ProTriCanceled' => 13, 'ProTriPaused' => 14, 'ProTriReassigned' => 15, 'ProTriUnpaused' => 16, 'ProTypeProcess' => 17, 'ProShowDelegate' => 18, 'ProShowDynaform' => 19, 'ProCategory' => 20, 'ProSubCategory' => 21, 'ProIndustry' => 22, 'ProUpdateDate' => 23, 'ProCreateDate' => 24, 'ProCreateUser' => 25, 'ProHeight' => 26, 'ProWidth' => 27, 'ProTitleX' => 28, 'ProTitleY' => 29, 'ProDebug' => 30, 'ProDynaforms' => 31, 'ProDerivationScreenTpl' => 32, 'ProCost' => 33, 'ProUnitCost' => 34, ),
- BasePeer::TYPE_COLNAME => array (ProcessPeer::PRO_UID => 0, ProcessPeer::PRO_PARENT => 1, ProcessPeer::PRO_TIME => 2, ProcessPeer::PRO_TIMEUNIT => 3, ProcessPeer::PRO_STATUS => 4, ProcessPeer::PRO_TYPE_DAY => 5, ProcessPeer::PRO_TYPE => 6, ProcessPeer::PRO_ASSIGNMENT => 7, ProcessPeer::PRO_SHOW_MAP => 8, ProcessPeer::PRO_SHOW_MESSAGE => 9, ProcessPeer::PRO_SUBPROCESS => 10, ProcessPeer::PRO_TRI_OPEN => 11, ProcessPeer::PRO_TRI_DELETED => 12, ProcessPeer::PRO_TRI_CANCELED => 13, ProcessPeer::PRO_TRI_PAUSED => 14, ProcessPeer::PRO_TRI_REASSIGNED => 15, ProcessPeer::PRO_TRI_UNPAUSED => 16, ProcessPeer::PRO_TYPE_PROCESS => 17, ProcessPeer::PRO_SHOW_DELEGATE => 18, ProcessPeer::PRO_SHOW_DYNAFORM => 19, ProcessPeer::PRO_CATEGORY => 20, ProcessPeer::PRO_SUB_CATEGORY => 21, ProcessPeer::PRO_INDUSTRY => 22, ProcessPeer::PRO_UPDATE_DATE => 23, ProcessPeer::PRO_CREATE_DATE => 24, ProcessPeer::PRO_CREATE_USER => 25, ProcessPeer::PRO_HEIGHT => 26, ProcessPeer::PRO_WIDTH => 27, ProcessPeer::PRO_TITLE_X => 28, ProcessPeer::PRO_TITLE_Y => 29, ProcessPeer::PRO_DEBUG => 30, ProcessPeer::PRO_DYNAFORMS => 31, ProcessPeer::PRO_DERIVATION_SCREEN_TPL => 32, ProcessPeer::PRO_COST => 33, ProcessPeer::PRO_UNIT_COST => 34, ),
- BasePeer::TYPE_FIELDNAME => array ('PRO_UID' => 0, 'PRO_PARENT' => 1, 'PRO_TIME' => 2, 'PRO_TIMEUNIT' => 3, 'PRO_STATUS' => 4, 'PRO_TYPE_DAY' => 5, 'PRO_TYPE' => 6, 'PRO_ASSIGNMENT' => 7, 'PRO_SHOW_MAP' => 8, 'PRO_SHOW_MESSAGE' => 9, 'PRO_SUBPROCESS' => 10, 'PRO_TRI_OPEN' => 11, 'PRO_TRI_DELETED' => 12, 'PRO_TRI_CANCELED' => 13, 'PRO_TRI_PAUSED' => 14, 'PRO_TRI_REASSIGNED' => 15, 'PRO_TRI_UNPAUSED' => 16, 'PRO_TYPE_PROCESS' => 17, 'PRO_SHOW_DELEGATE' => 18, 'PRO_SHOW_DYNAFORM' => 19, 'PRO_CATEGORY' => 20, 'PRO_SUB_CATEGORY' => 21, 'PRO_INDUSTRY' => 22, 'PRO_UPDATE_DATE' => 23, 'PRO_CREATE_DATE' => 24, 'PRO_CREATE_USER' => 25, 'PRO_HEIGHT' => 26, 'PRO_WIDTH' => 27, 'PRO_TITLE_X' => 28, 'PRO_TITLE_Y' => 29, 'PRO_DEBUG' => 30, 'PRO_DYNAFORMS' => 31, 'PRO_DERIVATION_SCREEN_TPL' => 32, 'PRO_COST' => 33, 'PRO_UNIT_COST' => 34, ),
- BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, )
+ BasePeer::TYPE_PHPNAME => array ('ProUid' => 0, 'ProParent' => 1, 'ProTime' => 2, 'ProTimeunit' => 3, 'ProStatus' => 4, 'ProTypeDay' => 5, 'ProType' => 6, 'ProAssignment' => 7, 'ProShowMap' => 8, 'ProShowMessage' => 9, 'ProSubprocess' => 10, 'ProTriOpen' => 11, 'ProTriDeleted' => 12, 'ProTriCanceled' => 13, 'ProTriPaused' => 14, 'ProTriReassigned' => 15, 'ProTriUnpaused' => 16, 'ProTypeProcess' => 17, 'ProShowDelegate' => 18, 'ProShowDynaform' => 19, 'ProCategory' => 20, 'ProSubCategory' => 21, 'ProIndustry' => 22, 'ProUpdateDate' => 23, 'ProCreateDate' => 24, 'ProCreateUser' => 25, 'ProHeight' => 26, 'ProWidth' => 27, 'ProTitleX' => 28, 'ProTitleY' => 29, 'ProDebug' => 30, 'ProDynaforms' => 31, 'ProDerivationScreenTpl' => 32, 'ProCost' => 33, 'ProUnitCost' => 34, 'ProItee' => 35, ),
+ BasePeer::TYPE_COLNAME => array (ProcessPeer::PRO_UID => 0, ProcessPeer::PRO_PARENT => 1, ProcessPeer::PRO_TIME => 2, ProcessPeer::PRO_TIMEUNIT => 3, ProcessPeer::PRO_STATUS => 4, ProcessPeer::PRO_TYPE_DAY => 5, ProcessPeer::PRO_TYPE => 6, ProcessPeer::PRO_ASSIGNMENT => 7, ProcessPeer::PRO_SHOW_MAP => 8, ProcessPeer::PRO_SHOW_MESSAGE => 9, ProcessPeer::PRO_SUBPROCESS => 10, ProcessPeer::PRO_TRI_OPEN => 11, ProcessPeer::PRO_TRI_DELETED => 12, ProcessPeer::PRO_TRI_CANCELED => 13, ProcessPeer::PRO_TRI_PAUSED => 14, ProcessPeer::PRO_TRI_REASSIGNED => 15, ProcessPeer::PRO_TRI_UNPAUSED => 16, ProcessPeer::PRO_TYPE_PROCESS => 17, ProcessPeer::PRO_SHOW_DELEGATE => 18, ProcessPeer::PRO_SHOW_DYNAFORM => 19, ProcessPeer::PRO_CATEGORY => 20, ProcessPeer::PRO_SUB_CATEGORY => 21, ProcessPeer::PRO_INDUSTRY => 22, ProcessPeer::PRO_UPDATE_DATE => 23, ProcessPeer::PRO_CREATE_DATE => 24, ProcessPeer::PRO_CREATE_USER => 25, ProcessPeer::PRO_HEIGHT => 26, ProcessPeer::PRO_WIDTH => 27, ProcessPeer::PRO_TITLE_X => 28, ProcessPeer::PRO_TITLE_Y => 29, ProcessPeer::PRO_DEBUG => 30, ProcessPeer::PRO_DYNAFORMS => 31, ProcessPeer::PRO_DERIVATION_SCREEN_TPL => 32, ProcessPeer::PRO_COST => 33, ProcessPeer::PRO_UNIT_COST => 34, ProcessPeer::PRO_ITEE => 35, ),
+ BasePeer::TYPE_FIELDNAME => array ('PRO_UID' => 0, 'PRO_PARENT' => 1, 'PRO_TIME' => 2, 'PRO_TIMEUNIT' => 3, 'PRO_STATUS' => 4, 'PRO_TYPE_DAY' => 5, 'PRO_TYPE' => 6, 'PRO_ASSIGNMENT' => 7, 'PRO_SHOW_MAP' => 8, 'PRO_SHOW_MESSAGE' => 9, 'PRO_SUBPROCESS' => 10, 'PRO_TRI_OPEN' => 11, 'PRO_TRI_DELETED' => 12, 'PRO_TRI_CANCELED' => 13, 'PRO_TRI_PAUSED' => 14, 'PRO_TRI_REASSIGNED' => 15, 'PRO_TRI_UNPAUSED' => 16, 'PRO_TYPE_PROCESS' => 17, 'PRO_SHOW_DELEGATE' => 18, 'PRO_SHOW_DYNAFORM' => 19, 'PRO_CATEGORY' => 20, 'PRO_SUB_CATEGORY' => 21, 'PRO_INDUSTRY' => 22, 'PRO_UPDATE_DATE' => 23, 'PRO_CREATE_DATE' => 24, 'PRO_CREATE_USER' => 25, 'PRO_HEIGHT' => 26, 'PRO_WIDTH' => 27, 'PRO_TITLE_X' => 28, 'PRO_TITLE_Y' => 29, 'PRO_DEBUG' => 30, 'PRO_DYNAFORMS' => 31, 'PRO_DERIVATION_SCREEN_TPL' => 32, 'PRO_COST' => 33, 'PRO_UNIT_COST' => 34, 'PRO_ITEE' => 35, ),
+ BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, )
);
/**
@@ -334,6 +337,8 @@ abstract class BaseProcessPeer
$criteria->addSelectColumn(ProcessPeer::PRO_UNIT_COST);
+ $criteria->addSelectColumn(ProcessPeer::PRO_ITEE);
+
}
const COUNT = 'COUNT(PROCESS.PRO_UID)';
diff --git a/workflow/engine/config/schema.xml b/workflow/engine/config/schema.xml
index fbd1cc069..d43bbb704 100755
--- a/workflow/engine/config/schema.xml
+++ b/workflow/engine/config/schema.xml
@@ -904,6 +904,7 @@
+
@@ -1298,7 +1299,7 @@
-
+
diff --git a/workflow/engine/data/mysql/schema.sql b/workflow/engine/data/mysql/schema.sql
index fdbda829b..c59875174 100755
--- a/workflow/engine/data/mysql/schema.sql
+++ b/workflow/engine/data/mysql/schema.sql
@@ -452,6 +452,7 @@ CREATE TABLE `PROCESS`
`PRO_DERIVATION_SCREEN_TPL` VARCHAR(128) default '',
`PRO_COST` DECIMAL(7,2) default 0,
`PRO_UNIT_COST` VARCHAR(50) default '',
+ `PRO_ITEE` INTEGER default 0 NOT NULL,
PRIMARY KEY (`PRO_UID`)
)ENGINE=InnoDB DEFAULT CHARSET='utf8' COMMENT='Store process Information';
#-----------------------------------------------------------------------------
diff --git a/workflow/engine/methods/cases/cases_CatchSelfService.php b/workflow/engine/methods/cases/cases_CatchSelfService.php
index 6b3a67580..82aafb5df 100755
--- a/workflow/engine/methods/cases/cases_CatchSelfService.php
+++ b/workflow/engine/methods/cases/cases_CatchSelfService.php
@@ -65,7 +65,7 @@ try {
$oCurUser->load( $aAppDel['USR_UID'] );
$Fields['PREVIOUS_USER'] = $oCurUser->getUsrFirstname() . ' ' . $oCurUser->getUsrLastname();
} catch (Exception $oError) {
- $Fields['PREVIOUS_USER'] = '';
+ $Fields['PREVIOUS_USER'] = G::LoadTranslation( 'ID_NO_PREVIOUS_USR_UID' );
}
$objTask = new Task();
diff --git a/workflow/engine/methods/cases/cases_Step.php b/workflow/engine/methods/cases/cases_Step.php
index 1c5693ddb..60e7129c8 100755
--- a/workflow/engine/methods/cases/cases_Step.php
+++ b/workflow/engine/methods/cases/cases_Step.php
@@ -949,6 +949,9 @@ try {
case "INTERMEDIATE-CATCH-TIMER-EVENT":
$aFields["TASK"][$sKey]["NEXT_TASK"]["USR_UID"] = G::LoadTranslation("ID_ROUTE_TO_TASK_INTERMEDIATE_CATCH_TIMER_EVENT");
break;
+ case "INTERMEDIATE-THROW-EMAIL-EVENT":
+ $aFields["TASK"][$sKey]["NEXT_TASK"]["TAS_TITLE"] = G::LoadTranslation("ID_ROUTE_TO_TASK_INTERMEDIATE-THROW-EMAIL-EVENT");
+ break;
}
$hiddenName = 'form[TASKS][' . $sKey . ']';
diff --git a/workflow/engine/src/ProcessMaker/Importer/Importer.php b/workflow/engine/src/ProcessMaker/Importer/Importer.php
index 1b8d8cc3b..0614e1364 100755
--- a/workflow/engine/src/ProcessMaker/Importer/Importer.php
+++ b/workflow/engine/src/ProcessMaker/Importer/Importer.php
@@ -481,7 +481,7 @@ abstract class Importer
foreach ($arrayWorkflowTables["tasks"] as $key => $value) {
$arrayTaskData = $value;
- if (!in_array($arrayTaskData["TAS_TYPE"], array("GATEWAYTOGATEWAY", "WEBENTRYEVENT", "END-MESSAGE-EVENT", "START-MESSAGE-EVENT", "INTERMEDIATE-THROW-MESSAGE-EVENT", "INTERMEDIATE-CATCH-MESSAGE-EVENT", "START-TIMER-EVENT", "INTERMEDIATE-CATCH-TIMER-EVENT", "END-EMAIL-EVENT", "INTERMEDIATE-EMAIL-EVENT"))) {
+ if (!in_array($arrayTaskData["TAS_TYPE"], array("GATEWAYTOGATEWAY", "WEBENTRYEVENT", "END-MESSAGE-EVENT", "START-MESSAGE-EVENT", "INTERMEDIATE-THROW-MESSAGE-EVENT", "INTERMEDIATE-CATCH-MESSAGE-EVENT", "START-TIMER-EVENT", "INTERMEDIATE-CATCH-TIMER-EVENT", "END-EMAIL-EVENT", "INTERMEDIATE-THROW-EMAIL-EVENT"))) {
$result = $workflow->updateTask($arrayTaskData["TAS_UID"], $arrayTaskData);
}
}
diff --git a/workflow/engine/src/ProcessMaker/Project/Adapter/BpmnWorkflow.php b/workflow/engine/src/ProcessMaker/Project/Adapter/BpmnWorkflow.php
index ce70f2d5d..7f9aae93a 100755
--- a/workflow/engine/src/ProcessMaker/Project/Adapter/BpmnWorkflow.php
+++ b/workflow/engine/src/ProcessMaker/Project/Adapter/BpmnWorkflow.php
@@ -31,7 +31,8 @@ class BpmnWorkflow extends Project\Bpmn
"intermediate-catch-message-event" => array("type" => "INTERMEDIATE-CATCH-MESSAGE-EVENT", "prefix" => "icme-"),
"start-timer-event" => array("type" => "START-TIMER-EVENT", "prefix" => "ste-"),
"intermediate-catch-timer-event" => array("type" => "INTERMEDIATE-CATCH-TIMER-EVENT", "prefix" => "icte-"),
- "end-email-event" => array("type" => "END-EMAIL-EVENT", "prefix" => "eee-")
+ "end-email-event" => array("type" => "END-EMAIL-EVENT", "prefix" => "eee-"),
+ "intermediate-throw-email-event" => array("type" => "INTERMEDIATE-THROW-EMAIL-EVENT", "prefix" => "itee-")
);
private $arrayElementTaskRelation = array();
@@ -885,10 +886,6 @@ class BpmnWorkflow extends Project\Bpmn
\BpmnFlowPeer::FLO_ELEMENT_ORIGIN_TYPE => "bpmnGateway"
));
- //if ($arrayFlow > 0) {
- // $this->wp->resetTaskRoutes($activityUid);
- //}
-
foreach ($arrayFlow as $value) {
$arrayFlowData = $value->toArray();
@@ -980,12 +977,13 @@ class BpmnWorkflow extends Project\Bpmn
if (!is_null($arrayEventData)) {
$arrayEventType = array("INTERMEDIATE");
- $arrayEventMarker = array("MESSAGECATCH", "TIMER");
+ $arrayEventMarker = array("MESSAGECATCH", "TIMER", "EMAIL");
if (in_array($arrayEventData["EVN_TYPE"], $arrayEventType) && in_array($arrayEventData["EVN_MARKER"], $arrayEventMarker)) {
$arrayKey = array(
"MESSAGECATCH" => "intermediate-catch-message-event",
- "TIMER" => "intermediate-catch-timer-event"
+ "TIMER" => "intermediate-catch-timer-event",
+ "EMAIL" => "intermediate-throw-email-event"
);
$taskUid = $this->createTaskByElement(
diff --git a/workflow/engine/src/ProcessMaker/Util/Common.php b/workflow/engine/src/ProcessMaker/Util/Common.php
index 5aa7bda38..333a8e957 100644
--- a/workflow/engine/src/ProcessMaker/Util/Common.php
+++ b/workflow/engine/src/ProcessMaker/Util/Common.php
@@ -37,10 +37,13 @@ class Common extends \Maveriks\Util\Common
}
$numc = 50;
-
+ $total = $numc - 2 - strlen($data);
+ if($total < 0){
+ $total = 0;
+ }
switch ($option) {
case "BAR":
- echo "\r" . "| " . $data . str_repeat(" ", $numc - 2 - strlen($data));
+ echo "\r" . "| " . $data . str_repeat(" ", $total);
break;
case "TEXT":
echo "\r" . '| ' . $data . "\n";