endpoints, running cases, export, import, files manager issues
This commit is contained in:
@@ -28,7 +28,8 @@ class BpmnWorkflow extends Project\Bpmn
|
||||
"end-message-event" => array("type" => "END-MESSAGE-EVENT", "prefix" => "eme-"),
|
||||
"start-message-event" => array("type" => "START-MESSAGE-EVENT", "prefix" => "sme-"),
|
||||
"intermediate-throw-message-event" => array("type" => "INTERMEDIATE-THROW-MESSAGE-EVENT", "prefix" => "itme-"),
|
||||
"intermediate-catch-message-event" => array("type" => "INTERMEDIATE-CATCH-MESSAGE-EVENT", "prefix" => "icme-")
|
||||
"intermediate-catch-message-event" => array("type" => "INTERMEDIATE-CATCH-MESSAGE-EVENT", "prefix" => "icme-"),
|
||||
"end-email-event" => array("type" => "END-EMAIL-EVENT", "prefix" => "eee-")
|
||||
);
|
||||
|
||||
private $arrayElementTaskRelation = array();
|
||||
@@ -552,6 +553,20 @@ class BpmnWorkflow extends Project\Bpmn
|
||||
$messageEventDefinition->delete($arrayMessageEventDefinitionData["MSGED_UID"]);
|
||||
}
|
||||
}
|
||||
|
||||
//Email-Event - Delete
|
||||
$arrayEventType = array("END", "INTERMEDIATE");
|
||||
$arrayEventMarker = array("EMAIL");
|
||||
|
||||
if (in_array($bpmnEvent->getEvnType(), $arrayEventType) && in_array($bpmnEvent->getEvnMarker(), $arrayEventMarker)) {
|
||||
$emailEvent = new \ProcessMaker\BusinessModel\EmailEvent();
|
||||
|
||||
if ($emailEvent->existsEvent($bpmnEvent->getPrjUid(), $bpmnEvent->getEvnUid())) {
|
||||
$arrayEmailEventData = $emailEvent->getEmailEventData($bpmnEvent->getPrjUid(), $bpmnEvent->getEvnUid());
|
||||
$arrayEmailEventData = array_change_key_case($arrayEmailEventData, CASE_UPPER);
|
||||
$emailEvent->delete($bpmnEvent->getPrjUid(), $arrayEmailEventData["EMAIL_EVENT_UID"], true);
|
||||
}
|
||||
}
|
||||
|
||||
//Element-Task-Relation - Delete
|
||||
$this->removeElementTaskRelation($bpmnEvent->getEvnUid(), "bpmnEvent");
|
||||
@@ -820,6 +835,16 @@ class BpmnWorkflow extends Project\Bpmn
|
||||
$result = $this->wp->addRoute($activityUid, $taskUid, $routeType, $routeCondition, $routeDefault);
|
||||
$result = $this->wp->addRoute($taskUid, -1, "SEQUENTIAL");
|
||||
break;
|
||||
case "EMAIL":
|
||||
$taskUid = $this->createTaskByElement(
|
||||
$event->getEvnUid(),
|
||||
"bpmnEvent",
|
||||
"end-email-event"
|
||||
);
|
||||
|
||||
$result = $this->wp->addRoute($activityUid, $taskUid, $routeType, $routeCondition, $routeDefault);
|
||||
$result = $this->wp->addRoute($taskUid, -1, "SEQUENTIAL");
|
||||
break;
|
||||
default:
|
||||
//EMPTY //and others types
|
||||
$result = $this->wp->addRoute($activityUid, -1, $routeType, $routeCondition, $routeDefault);
|
||||
@@ -908,6 +933,16 @@ class BpmnWorkflow extends Project\Bpmn
|
||||
"end-message-event"
|
||||
);
|
||||
|
||||
$result = $this->wp->addRoute($activityUid, $taskUid, $routeType, $routeCondition, $routeDefault);
|
||||
$result = $this->wp->addRoute($taskUid, -1, "SEQUENTIAL");
|
||||
break;
|
||||
case "EMAIL":
|
||||
$taskUid = $this->createTaskByElement(
|
||||
$event->getEvnUid(),
|
||||
"bpmnEvent",
|
||||
"end-email-event"
|
||||
);
|
||||
|
||||
$result = $this->wp->addRoute($activityUid, $taskUid, $routeType, $routeCondition, $routeDefault);
|
||||
$result = $this->wp->addRoute($taskUid, -1, "SEQUENTIAL");
|
||||
break;
|
||||
@@ -995,6 +1030,16 @@ class BpmnWorkflow extends Project\Bpmn
|
||||
$result = $this->wp->addRoute($activity["ACT_UID"], $taskUid, "SEQUENTIAL");
|
||||
$result = $this->wp->addRoute($taskUid, -1, "SEQUENTIAL");
|
||||
break;
|
||||
case "EMAIL":
|
||||
$taskUid = $this->createTaskByElement(
|
||||
$event->getEvnUid(),
|
||||
"bpmnEvent",
|
||||
"end-email-event"
|
||||
);
|
||||
|
||||
$result = $this->wp->addRoute($activity["ACT_UID"], $taskUid, "SEQUENTIAL");
|
||||
$result = $this->wp->addRoute($taskUid, -1, "SEQUENTIAL");
|
||||
break;
|
||||
default:
|
||||
//EMPTY //This it's already implemented
|
||||
//and others types
|
||||
|
||||
@@ -1473,5 +1473,50 @@ class Bpmn extends Handler
|
||||
throw $e;
|
||||
}
|
||||
}
|
||||
|
||||
public function getEmailEventTypeBetweenElementOriginAndElementDest(
|
||||
$elementOriginUid,
|
||||
$elementOriginType,
|
||||
$elementDestUid,
|
||||
$elementDestType
|
||||
) {
|
||||
try {
|
||||
$arrayEventType = array("END", "INTERMEDIATE");
|
||||
$arrayEventMarker = array("EMAIL");
|
||||
|
||||
$this->arrayElementOriginChecked = array();
|
||||
|
||||
$arrayEventAux = $this->getElementsBetweenElementOriginAndElementDest(
|
||||
$elementOriginUid,
|
||||
$elementOriginType,
|
||||
$elementDestUid,
|
||||
$elementDestType,
|
||||
0
|
||||
);
|
||||
|
||||
ksort($arrayEventAux);
|
||||
|
||||
$arrayEvent = array();
|
||||
|
||||
foreach ($arrayEventAux as $value) {
|
||||
if ($value[1] == "bpmnEvent") {
|
||||
$event = \BpmnEventPeer::retrieveByPK($value[0]);
|
||||
|
||||
if (!is_null($event) &&
|
||||
in_array($event->getEvnType(), $arrayEventType) && in_array($event->getEvnMarker(), $arrayEventMarker)
|
||||
) {
|
||||
$arrayEvent[] = $value;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Return
|
||||
return $arrayEvent;
|
||||
} catch (\Exception $e) {
|
||||
self::log("Exception: ", $e->getMessage(), "Trace: ", $e->getTraceAsString());
|
||||
|
||||
throw $e;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -855,6 +855,32 @@ class Workflow extends Handler
|
||||
|
||||
$messageEventDefinition->delete($row["MSGED_UID"]);
|
||||
}
|
||||
|
||||
//Delete Email-Event
|
||||
$emailEvent = new \ProcessMaker\BusinessModel\EmailEvent();
|
||||
$criteria = new \Criteria("workflow");
|
||||
$criteria->addSelectColumn(\EmailEventPeer::EMAIL_EVENT_UID);
|
||||
$criteria->add(\EmailEventPeer::PRJ_UID, $sProcessUID, \Criteria::EQUAL);
|
||||
$rsCriteria = \EmailEventPeer::doSelectRS($criteria);
|
||||
$rsCriteria->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
|
||||
|
||||
while ($rsCriteria->next()) {
|
||||
$row = $rsCriteria->getRow();
|
||||
$emailEvent->delete($sProcessUID,$row["EMAIL_EVENT_UID"],false);
|
||||
}
|
||||
|
||||
//Delete files Manager
|
||||
$filesManager = new \ProcessMaker\BusinessModel\FilesManager();
|
||||
$criteria = new \Criteria("workflow");
|
||||
$criteria->addSelectColumn(\ProcessFilesPeer::PRF_UID);
|
||||
$criteria->add(\ProcessFilesPeer::PRO_UID, $sProcessUID, \Criteria::EQUAL);
|
||||
$rsCriteria = \ProcessFilesPeer::doSelectRS($criteria);
|
||||
$rsCriteria->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
|
||||
|
||||
while ($rsCriteria->next()) {
|
||||
$row = $rsCriteria->getRow();
|
||||
$filesManager->deleteProcessFilesManager($sProcessUID, $row["PRF_UID"]);
|
||||
}
|
||||
|
||||
//Delete the process
|
||||
try {
|
||||
@@ -1241,6 +1267,22 @@ class Workflow extends Handler
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Update EMAIL_EVENT.EVN_UID
|
||||
if (isset($arrayWorkflowData["emailEvent"])) {
|
||||
foreach ($arrayWorkflowData["emailEvent"] as $key => $value) {
|
||||
$emailEventEventUid = $arrayWorkflowData["emailEvent"][$key]["EVN_UID"];
|
||||
|
||||
foreach ($arrayUid as $value2) {
|
||||
$arrayItem = $value2;
|
||||
|
||||
if ($arrayItem["old_uid"] == $emailEventEventUid) {
|
||||
$arrayWorkflowData["emailEvent"][$key]["EVN_UID"] = $arrayItem["new_uid"];
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Workflow tables
|
||||
$workflowData = (object)($arrayWorkflowData);
|
||||
|
||||
Reference in New Issue
Block a user