Merged in victorsl/processmaker (pull request #1406)

PM-00000 "Solo los Start-Event pueden iniciar casos" SOLVED
This commit is contained in:
Julio Cesar Laura Avendaño
2015-02-06 16:50:00 -04:00

View File

@@ -238,7 +238,7 @@ class BpmnWorkflow extends Project\Bpmn
$event = \BpmnEventPeer::retrieveByPK($data["FLO_ELEMENT_ORIGIN"]);
// setting as start task
if ($event && $event->getEvnType() == "START") {
if (!is_null($event) && $event->getEvnType() == "START" && $event->getEvnMarker() == "EMPTY") {
$this->wp->setStartTask($data["FLO_ELEMENT_DEST"]);
}
@@ -284,7 +284,7 @@ class BpmnWorkflow extends Project\Bpmn
) {
$event = \BpmnEventPeer::retrieveByPK($flowBefore->getFloElementOrigin());
if (!is_null($event) && $event->getEvnType() == "START") {
if (!is_null($event) && $event->getEvnType() == "START" && $event->getEvnMarker() == "EMPTY") {
//Remove as start task
$this->wp->setStartTask($flowBefore->getFloElementDest(), false);
@@ -358,7 +358,7 @@ class BpmnWorkflow extends Project\Bpmn
if (is_null($bpmnFlow)) {
$event = \BpmnEventPeer::retrieveByPK($flow->getFloElementOrigin());
if (!is_null($event) && $event->getEvnType() == "START") {
if (!is_null($event) && $event->getEvnType() == "START" && $event->getEvnMarker() == "EMPTY") {
$activity = \BpmnActivityPeer::retrieveByPK($flow->getFloElementDest());
if (!is_null($activity)) {
@@ -390,7 +390,7 @@ class BpmnWorkflow extends Project\Bpmn
switch ($flow->getFloElementOriginType()) {
case "bpmnActivity":
switch ($flow->getFloElementDestType()) {
// activity->activity
//Activity1 -> Activity2
case "bpmnActivity":
$this->wp->removeRouteFromTo($flow->getFloElementOrigin(), $flow->getFloElementDest());
break;
@@ -411,12 +411,12 @@ class BpmnWorkflow extends Project\Bpmn
$eventUid = parent::addEvent($data);
$event = \BpmnEventPeer::retrieveByPK($eventUid);
// create case scheduler
//Delete case scheduler
if ($event && $event->getEvnMarker() == "TIMER" && $event->getEvnType() == "START") {
$this->wp->addCaseScheduler($eventUid);
}
// create web entry
//Delete WebEntry-Event
if ($event && $event->getEvnMarker() == "MESSAGE" && $event->getEvnType() == "START") {
$this->wp->addWebEntry($eventUid);
}
@@ -782,11 +782,13 @@ class BpmnWorkflow extends Project\Bpmn
$result = array();
$projectData['prj_uid'] = $prjUid;
$bwp = BpmnWorkflow::load($prjUid);
$projectRecord = array_change_key_case($projectData, CASE_UPPER);
$bwp->update($projectRecord);
////
/*
* Diagram's Laneset Handling
*/
@@ -831,7 +833,6 @@ class BpmnWorkflow extends Project\Bpmn
}
}
////
/*
* Diagram's Lane Handling
*/
@@ -1184,7 +1185,6 @@ class BpmnWorkflow extends Project\Bpmn
}
}
////
/*
* Diagram's Participant Handling
*/
@@ -1241,7 +1241,6 @@ class BpmnWorkflow extends Project\Bpmn
}
}
/*
* Diagram's Flows Handling
*/
@@ -1252,16 +1251,23 @@ class BpmnWorkflow extends Project\Bpmn
// if it is a new flow record
if ($forceInsert || ($generateUid && !\BpmnFlow::exists($flowData["FLO_UID"]))) {
$oldFloUid = $flowData["FLO_UID"];
$uidOld = $flowData["FLO_UID"];
$flowData["FLO_UID"] = Util\Common::generateUID();
$result[] = array("object" => "flow", "new_uid" => $flowData["FLO_UID"], "old_uid" => $oldFloUid);
$result[] = array(
"object" => "flow",
"old_uid" => $uidOld,
"new_uid" => $flowData["FLO_UID"]
);
$mappedUid = self::mapUid($flowData["FLO_ELEMENT_ORIGIN"], $result);
if ($mappedUid !== false) {
$flowData["FLO_ELEMENT_ORIGIN"] = $mappedUid;
}
$mappedUid = self::mapUid($flowData["FLO_ELEMENT_DEST"], $result);
if ($mappedUid !== false) {
$flowData["FLO_ELEMENT_DEST"] = $mappedUid;
}