PM-939 "Support for Message-Event(Export, Import y Delete)"

> Se han implementado los metodos para: Export, Import y Delete (delete Process) de este nuevo "Objeto", asi tambien
  se ha  agregado validaciones en el listados en el casesList.
This commit is contained in:
Luis Fernando Saisa Lopez
2015-02-20 17:12:49 -04:00
parent f3d90ae3db
commit f0bebb5fe5
6 changed files with 165 additions and 14 deletions

View File

@@ -888,12 +888,18 @@ class Processes
$oData->uid["TASK"] = $map;
if (isset( $oData->routes ) && is_array( $oData->routes )) {
foreach ($oData->routes as $key => $val) {
$newGuid = $map[$val['TAS_UID']];
$oData->routes[$key]['TAS_UID'] = $newGuid;
if (strlen( $val['ROU_NEXT_TASK'] ) > 0 && $val['ROU_NEXT_TASK'] > 0) {
$newGuid = $map[$val['ROU_NEXT_TASK']];
$oData->routes[$key]['ROU_NEXT_TASK'] = $newGuid;
foreach ($oData->routes as $key => $value) {
$record = $value;
if (isset($map[$record["TAS_UID"]])) {
$newUid = $map[$record["TAS_UID"]];
$oData->routes[$key]["TAS_UID"] = $newUid;
if (strlen($record["ROU_NEXT_TASK"]) > 0 && $record["ROU_NEXT_TASK"] > 0) {
$newUid = $map[$record["ROU_NEXT_TASK"]];
$oData->routes[$key]["ROU_NEXT_TASK"] = $newUid;
}
}
}
}
@@ -2297,6 +2303,19 @@ class Processes
}
}
}
//Message-Envent-Definition
if (isset($data->messageEventDefinition)) {
foreach ($data->messageEventDefinition as $key => $value) {
$record = $value;
if (isset($map[$record["MSGT_UID"]])) {
$newUid = $map[$record["MSGT_UID"]];
$data->messageEventDefinition[$key]["MSGT_UID"] = $newUid;
}
}
}
} catch (Exception $e) {
throw $e;
}
@@ -3077,6 +3096,39 @@ class Processes
}
}
public function getMessageEventDefinitions($processUid)
{
try {
$arrayMessageEventDefinition = array();
$messageEventDefinition = new \ProcessMaker\BusinessModel\MessageEventDefinition();
//Get data
$criteria = new Criteria("workflow");
$criteria->addSelectColumn(MessageEventDefinitionPeer::MSGED_UID);
$criteria->add(MessageEventDefinitionPeer::PRJ_UID, $processUid, Criteria::EQUAL);
$rsCriteria = MessageEventDefinitionPeer::doSelectRS($criteria);
$rsCriteria->setFetchmode(ResultSet::FETCHMODE_ASSOC);
while ($rsCriteria->next()) {
$row = $rsCriteria->getRow();
$arrayData = $messageEventDefinition->getMessageEventDefinition($row["MSGED_UID"], true);
$arrayData["MSGED_VARIABLES"] = serialize($arrayData["MSGED_VARIABLES"]);
$arrayMessageEventDefinition[] = $arrayData;
}
//Return
return $arrayMessageEventDefinition;
} catch (Exception $e) {
throw $e;
}
}
/**
* Get Task User Rows from an array of data
*
@@ -3318,6 +3370,31 @@ class Processes
}
}
/**
* Create Message-Event-Definition records
*
* @param string $processUid Unique id of Process
* @param array $arrayData Data
*
* return void
*/
public function createMessageEventDefinition($processUid, array $arrayData)
{
try {
$messageEventDefinition = new \ProcessMaker\BusinessModel\MessageEventDefinition();
foreach ($arrayData as $value) {
$record = $value;
$record["MSGED_VARIABLES"] = unserialize($record["MSGED_VARIABLES"]);
$arrayMessageEventDefinitionData = $messageEventDefinition->create($processUid, $record, false);
}
} catch (Exception $e) {
throw $e;
}
}
/**
* Cleanup Report Tables References from an array of data
*
@@ -3506,6 +3583,7 @@ class Processes
$oData->webEntryEvent = $this->getWebEntryEvents($sProUid);
$oData->messageType = $this->getMessageTypes($sProUid);
$oData->messageTypeVariable = $this->getMessageTypeVariables($sProUid);
$oData->messageEventDefinition = $this->getMessageEventDefinitions($sProUid);
$oData->groupwfs = $this->groupwfsMerge($oData->groupwfs, $oData->processUser, "USR_UID");
$oData->process["PRO_TYPE_PROCESS"] = "PUBLIC";
@@ -4552,6 +4630,7 @@ class Processes
$this->createWebEntryEvent($arrayProcessData["PRO_UID"], $arrayProcessData["PRO_CREATE_USER"], (isset($oData->webEntryEvent))? $oData->webEntryEvent : array());
$this->createMessageType((isset($oData->messageType))? $oData->messageType : array());
$this->createMessageTypeVariable((isset($oData->messageTypeVariable))? $oData->messageTypeVariable : array());
$this->createMessageEventDefinition($arrayProcessData["PRO_UID"], (isset($oData->messageEventDefinition))? $oData->messageEventDefinition : array());
}