Merged in mcuiza/processmaker/PM-3577 (pull request #2852)

PM-3577
This commit is contained in:
Julio Cesar Laura Avendaño
2015-09-30 02:46:24 -04:00
2 changed files with 91 additions and 1 deletions

View File

@@ -860,6 +860,12 @@ class Processes
}
}
if (isset($oData->abeConfiguration)) {
foreach ($oData->abeConfiguration as $key => $value) {
$oData->abeConfiguration[$key]["PRO_UID"] = $sNewProUid;
}
}
return true;
}
@@ -1016,6 +1022,16 @@ class Processes
}
}
}
if (isset( $oData->abeConfiguration ) && is_array( $oData->abeConfiguration )) {
foreach ($oData->abeConfiguration as $key => $value) {
$record = $value;
if (isset($map[$record["TAS_UID"]])) {
$newUid = $map[$record["TAS_UID"]];
$oData->abeConfiguration[$key]["TAS_UID"] = $newUid;
}
}
}
}
/**
@@ -1123,6 +1139,16 @@ class Processes
}
}
}
if (isset( $oData->abeConfiguration ) && is_array( $oData->abeConfiguration )) {
foreach ($oData->abeConfiguration as $key => $value) {
$record = $value;
if (isset($map[$record["DYN_UID"]])) {
$newUid = $map[$record["DYN_UID"]];
$oData->abeConfiguration[$key]["DYN_UID"] = $newUid;
}
}
}
}
/**
@@ -3261,6 +3287,40 @@ class Processes
}
}
public function getActionsByEmail($processUid)
{
try {
$arrayActionsByEmail = array();
//Get data
$criteria = new \Criteria("workflow");
$criteria->addSelectColumn(\AbeConfigurationPeer::ABE_UID);
$criteria->addSelectColumn(\AbeConfigurationPeer::PRO_UID);
$criteria->addSelectColumn(\AbeConfigurationPeer::TAS_UID);
$criteria->addSelectColumn(\AbeConfigurationPeer::ABE_TYPE);
$criteria->addSelectColumn(\AbeConfigurationPeer::ABE_TEMPLATE);
$criteria->addSelectColumn(\AbeConfigurationPeer::ABE_DYN_TYPE);
$criteria->addSelectColumn(\AbeConfigurationPeer::DYN_UID);
$criteria->addSelectColumn(\AbeConfigurationPeer::ABE_EMAIL_FIELD);
$criteria->addSelectColumn(\AbeConfigurationPeer::ABE_ACTION_FIELD);
$criteria->addSelectColumn(\AbeConfigurationPeer::ABE_CASE_NOTE_IN_RESPONSE);
$criteria->addSelectColumn(\AbeConfigurationPeer::ABE_CREATE_DATE);
$criteria->addSelectColumn(\AbeConfigurationPeer::ABE_UPDATE_DATE);
$criteria->addSelectColumn(\AbeConfigurationPeer::ABE_SUBJECT_FIELD);
$criteria->add(AbeConfigurationPeer::PRO_UID, $processUid, Criteria::EQUAL);
$rsCriteria = AbeConfigurationPeer::doSelectRS($criteria);
$rsCriteria->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$rsCriteria->next();
while ($aRow = $rsCriteria->getRow()) {
$arrayActionsByEmail[] = $aRow;
$rsCriteria->next();
}
//Return
return $arrayActionsByEmail;
} catch (Exception $e) {
throw $e;
}
}
public function getFilesManager($processUid)
{
try {
@@ -3624,6 +3684,28 @@ class Processes
}
}
/**
* Create Actions by email records
*
* @param string $processUid Unique id of Process
* @param array $arrayData Data
*
* return void
*/
public function createActionsByEmail($processUid, array $arrayData)
{
try {
require_once 'classes/model/AbeConfiguration.php';
$abeConfigurationInstance = new AbeConfiguration();
foreach ($arrayData as $value) {
$value['ABE_UID'] = "";
$abeConfigurationInstance->createOrUpdate($value);
}
} catch (Exception $e) {
throw $e;
}
}
/**
* Create Files Manager records
*
@@ -3838,6 +3920,7 @@ class Processes
$oData->timerEvent = $this->getTimerEvents($sProUid);
$oData->emailEvent = $this->getEmailEvent($sProUid);
$oData->filesManager = $this->getFilesManager($sProUid);
$oData->abeConfiguration = $this->getActionsByEmail($sProUid);
$oData->groupwfs = $this->groupwfsMerge($oData->groupwfs, $oData->processUser, "USR_UID");
$oData->process["PRO_TYPE_PROCESS"] = "PUBLIC";
@@ -4940,6 +5023,7 @@ class Processes
$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->createActionsByEmail($arrayProcessData["PRO_UID"], (isset($oData->abeConfiguration))? $oData->abeConfiguration : array());
$this->createFilesManager($arrayProcessData["PRO_UID"], (isset($oData->filesManager))? $oData->filesManager : array());
}

View File

@@ -912,6 +912,11 @@ class Workflow extends Handler
$filesManager->deleteProcessFilesManager($sProcessUID, $row["PRF_UID"]);
}
//Delete the actions by email
$oCriteria = new Criteria('workflow');
$oCriteria->add(\AbeConfigurationPeer::PRO_UID, $sProcessUID);
\AbeConfigurationPeer::doDelete($oCriteria);
//Delete the process
try {
$oProcess->remove($sProcessUID);
@@ -1258,7 +1263,8 @@ class Workflow extends Handler
"messageEventDefinition" => array("fieldname" => "EVN_UID", "oldFieldname" => "EVN_UID_OLD"), //Update MESSAGE_EVENT_DEFINITION.EVN_UID
"scriptTask" => array("fieldname" => "ACT_UID", "oldFieldname" => "ACT_UID_OLD"), //Update SCRIPT_TASK.ACT_UID
"timerEvent" => array("fieldname" => "EVN_UID", "oldFieldname" => "EVN_UID_OLD"), //Update TIMER_EVENT.EVN_UID
"emailEvent" => array("fieldname" => "EVN_UID", "oldFieldname" => "EVN_UID_OLD") //Update EMAIL_EVENT.EVN_UID
"emailEvent" => array("fieldname" => "EVN_UID", "oldFieldname" => "EVN_UID_OLD"), //Update EMAIL_EVENT.EVN_UID
"abeConfiguration" => array("fieldname" => "TAS_UID", "oldFieldname" => "TAS_UID_OLD") //Update ABE_CONFIGURATION.TAS_UID
);
foreach ($arrayUpdateTableField as $key => $value) {