PM-2576 "Support for Timer-Event (End-points and Backend)"

- Se han implementado los siguientes End-points:
    GET    /api/1.0/{workspace}/project/{prj_uid}/timer-events
    GET    /api/1.0/{workspace}/project/{prj_uid}/timer-event/{tmrevn_uid}
    GET    /api/1.0/{workspace}/project/{prj_uid}/timer-event/event/{evn_uid}
    POST   /api/1.0/{workspace}/project/{prj_uid}/timer-event
    PUT    /api/1.0/{workspace}/project/{prj_uid}/timer-event/{tmrevn_uid}
    DELETE /api/1.0/{workspace}/project/{prj_uid}/timer-event/{tmrevn_uid}
- Se han implementado la funcionalidad y los metodos necesarios para este nuevo elemento
  en el modulo "BPMN-DESIGNER Backend"
- Se han agregado las validaciones necesarias para filtrar los nuevos tipos de tasks en el
  listado del "New case"
- Se han agregado los metodos necesarios para este nuevo elemento en los modulos Export and Import
- Se han agregado los metodos necesarios para este nuevo elemento en el modulo "Delete process"
- Se a implementado la funcionalidad para este nuevo elemento en el modulo "Running case"
This commit is contained in:
Victor Saisa Lopez
2015-06-30 12:04:53 -04:00
parent a8deb38b4f
commit 8b21d386d2
21 changed files with 8907 additions and 5373 deletions

View File

@@ -847,13 +847,13 @@ class Processes
$oData->messageType[$key]["PRJ_UID"] = $sNewProUid;
}
}
if (isset($oData->emailEvent)) {
foreach ($oData->emailEvent as $key => $value) {
$oData->emailEvent[$key]["PRJ_UID"] = $sNewProUid;
}
}
if (isset($oData->filesManager)) {
foreach ($oData->filesManager as $key => $value) {
$oData->filesManager[$key]["PRO_UID"] = $sNewProUid;
@@ -2401,7 +2401,7 @@ class Processes
throw $e;
}
}
/**
* Renew the GUID's for all the Uids for all the elements
*
@@ -3180,60 +3180,6 @@ class Processes
throw $e;
}
}
public function getEmailEvent($processUid)
{
try {
$arrayEmailEvent = array();
$emailEvent = new \ProcessMaker\BusinessModel\EmailEvent();
$criteria = $emailEvent->getEmailEventCriteria();
//Get data
$criteria->add(EmailEventPeer::PRJ_UID, $processUid, Criteria::EQUAL);
$rsCriteria = EmailEventPeer::doSelectRS($criteria);
$rsCriteria->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$rsCriteria->next();
while ($aRow = $rsCriteria->getRow()) {
$arrayEmailEvent[] = $aRow;
$rsCriteria->next();
}
//Return
return $arrayEmailEvent;
} catch (Exception $e) {
throw $e;
}
}
public function getFilesManager($processUid)
{
try {
$arrayFilesManager = array();
//Get data
$criteria = new \Criteria("workflow");
$criteria->addSelectColumn(\ProcessFilesPeer::PRF_UID);
$criteria->addSelectColumn(\ProcessFilesPeer::PRO_UID);
$criteria->addSelectColumn(\ProcessFilesPeer::USR_UID);
$criteria->addSelectColumn(\ProcessFilesPeer::PRF_UPDATE_USR_UID);
$criteria->addSelectColumn(\ProcessFilesPeer::PRF_PATH);
$criteria->addSelectColumn(\ProcessFilesPeer::PRF_TYPE);
$criteria->addSelectColumn(\ProcessFilesPeer::PRF_EDITABLE);
$criteria->addSelectColumn(\ProcessFilesPeer::PRF_CREATE_DATE);
$criteria->addSelectColumn(\ProcessFilesPeer::PRF_UPDATE_DATE);
$criteria->add(ProcessFilesPeer::PRO_UID, $processUid, Criteria::EQUAL);
$rsCriteria = ProcessFilesPeer::doSelectRS($criteria);
$rsCriteria->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$rsCriteria->next();
while ($aRow = $rsCriteria->getRow()) {
$arrayFilesManager[] = $aRow;
$rsCriteria->next();
}
//Return
return $arrayFilesManager;
} catch (Exception $e) {
throw $e;
}
}
public function getScriptTasks($processUid)
{
@@ -3263,6 +3209,88 @@ class Processes
}
}
public function getTimerEvents($processUid)
{
try {
$arrayTimerEvent = array();
$timerEvent = new \ProcessMaker\BusinessModel\TimerEvent();
//Get data
$criteria = $timerEvent->getTimerEventCriteria();
$criteria->add(\TimerEventPeer::PRJ_UID, $processUid, \Criteria::EQUAL);
$rsCriteria = \TimerEventPeer::doSelectRS($criteria);
$rsCriteria->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
while ($rsCriteria->next()) {
$row = $rsCriteria->getRow();
$arrayTimerEvent[] = $row;
}
//Return
return $arrayTimerEvent;
} catch (Exception $e) {
throw $e;
}
}
public function getEmailEvent($processUid)
{
try {
$arrayEmailEvent = array();
$emailEvent = new \ProcessMaker\BusinessModel\EmailEvent();
$criteria = $emailEvent->getEmailEventCriteria();
//Get data
$criteria->add(EmailEventPeer::PRJ_UID, $processUid, Criteria::EQUAL);
$rsCriteria = EmailEventPeer::doSelectRS($criteria);
$rsCriteria->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$rsCriteria->next();
while ($aRow = $rsCriteria->getRow()) {
$arrayEmailEvent[] = $aRow;
$rsCriteria->next();
}
//Return
return $arrayEmailEvent;
} catch (Exception $e) {
throw $e;
}
}
public function getFilesManager($processUid)
{
try {
$arrayFilesManager = array();
//Get data
$criteria = new \Criteria("workflow");
$criteria->addSelectColumn(\ProcessFilesPeer::PRF_UID);
$criteria->addSelectColumn(\ProcessFilesPeer::PRO_UID);
$criteria->addSelectColumn(\ProcessFilesPeer::USR_UID);
$criteria->addSelectColumn(\ProcessFilesPeer::PRF_UPDATE_USR_UID);
$criteria->addSelectColumn(\ProcessFilesPeer::PRF_PATH);
$criteria->addSelectColumn(\ProcessFilesPeer::PRF_TYPE);
$criteria->addSelectColumn(\ProcessFilesPeer::PRF_EDITABLE);
$criteria->addSelectColumn(\ProcessFilesPeer::PRF_CREATE_DATE);
$criteria->addSelectColumn(\ProcessFilesPeer::PRF_UPDATE_DATE);
$criteria->add(ProcessFilesPeer::PRO_UID, $processUid, Criteria::EQUAL);
$rsCriteria = ProcessFilesPeer::doSelectRS($criteria);
$rsCriteria->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$rsCriteria->next();
while ($aRow = $rsCriteria->getRow()) {
$arrayFilesManager[] = $aRow;
$rsCriteria->next();
}
//Return
return $arrayFilesManager;
} catch (Exception $e) {
throw $e;
}
}
/**
* Get Task User Rows from an array of data
*
@@ -3423,7 +3451,7 @@ class Processes
$arrayWebEntryData = $webEntry->create($processUid, $userUidCreator, $record);
}
} catch (Exception $e) {
//throw $e;
throw $e;
}
}
@@ -3447,7 +3475,7 @@ class Processes
$arrayWebEntryEventData = $webEntryEvent->create($processUid, $userUidCreator, $record);
}
} catch (Exception $e) {
//throw $e;
throw $e;
}
}
@@ -3528,48 +3556,6 @@ class Processes
throw $e;
}
}
/**
* Create Email-event records
*
* @param string $processUid Unique id of Process
* @param array $arrayData Data
*
* return void
*/
public function createEmailEvent($processUid, array $arrayData)
{
try {
$emailEvent = new \ProcessMaker\BusinessModel\EmailEvent();
foreach ($arrayData as $value) {
$emailEventData = $emailEvent->save($processUid, $value);
}
} catch (Exception $e) {
throw $e;
}
}
/**
* Create Files Manager records
*
* @param string $processUid Unique id of Process
* @param array $arrayData Data
*
* return void
*/
public function createFilesManager($processUid, array $arrayData)
{
try {
$filesManager = new \ProcessMaker\BusinessModel\FilesManager();
foreach ($arrayData as $value) {
$filesManager->addProcessFilesManagerInDb($value);
}
} catch (Exception $e) {
throw $e;
}
}
/**
* Create Script-Task records
@@ -3590,7 +3576,72 @@ class Processes
$result = $scriptTask->create($processUid, $record);
}
} catch (Exception $e) {
//throw $e;
throw $e;
}
}
/**
* Create Timer-Event records
*
* @param string $processUid Unique id of Process
* @param array $arrayData Data
*
* return void
*/
public function createTimerEvent($processUid, array $arrayData)
{
try {
$timerEvent = new \ProcessMaker\BusinessModel\TimerEvent();
foreach ($arrayData as $value) {
$record = $value;
$result = $timerEvent->singleCreate($processUid, $record);
}
} catch (Exception $e) {
throw $e;
}
}
/**
* Create Email-Event records
*
* @param string $processUid Unique id of Process
* @param array $arrayData Data
*
* return void
*/
public function createEmailEvent($processUid, array $arrayData)
{
try {
$emailEvent = new \ProcessMaker\BusinessModel\EmailEvent();
foreach ($arrayData as $value) {
$emailEventData = $emailEvent->save($processUid, $value);
}
} catch (Exception $e) {
throw $e;
}
}
/**
* Create Files Manager records
*
* @param string $processUid Unique id of Process
* @param array $arrayData Data
*
* return void
*/
public function createFilesManager($processUid, array $arrayData)
{
try {
$filesManager = new \ProcessMaker\BusinessModel\FilesManager();
foreach ($arrayData as $value) {
$filesManager->addProcessFilesManagerInDb($value);
}
} catch (Exception $e) {
throw $e;
}
}
@@ -3784,8 +3835,9 @@ class Processes
$oData->messageTypeVariable = $this->getMessageTypeVariables($sProUid);
$oData->messageEventDefinition = $this->getMessageEventDefinitions($sProUid);
$oData->scriptTask = $this->getScriptTasks($sProUid);
$oData->timerEvent = $this->getTimerEvents($sProUid);
$oData->emailEvent = $this->getEmailEvent($sProUid);
$oData->filesManager = $this->getFilesManager($sProUid);
$oData->filesManager = $this->getFilesManager($sProUid);
$oData->groupwfs = $this->groupwfsMerge($oData->groupwfs, $oData->processUser, "USR_UID");
$oData->process["PRO_TYPE_PROCESS"] = "PUBLIC";
@@ -4886,6 +4938,7 @@ class Processes
$this->createMessageTypeVariable((isset($oData->messageTypeVariable))? $oData->messageTypeVariable : array());
$this->createMessageEventDefinition($arrayProcessData["PRO_UID"], (isset($oData->messageEventDefinition))? $oData->messageEventDefinition : array());
$this->createScriptTask($arrayProcessData["PRO_UID"], (isset($oData->scriptTask))? $oData->scriptTask : array());
$this->createTimerEvent($arrayProcessData["PRO_UID"], (isset($oData->timerEvent))? $oData->timerEvent : array());
$this->createEmailEvent($arrayProcessData["PRO_UID"], (isset($oData->emailEvent))? $oData->emailEvent : array());
$this->createFilesManager($arrayProcessData["PRO_UID"], (isset($oData->filesManager))? $oData->filesManager : array());
}
@@ -5456,3 +5509,4 @@ class ObjectCellection
}
}
}