/** * Update Case Tracker data of a Process * * @param string $processUid Unique id of Process * @param array $arrayData Data * * return array Return data of the Case Tracker updated */ public function update($processUid, $arrayData) { try { $arrayDataIni = $arrayData; //Verify data $process = new \ProcessMaker\BusinessModel\Process(); $process->throwExceptionIfNotExistsProcess($processUid, "prj_uid"); //Update $caseTracker = new \CaseTracker(); $arrayData = array("PRO_UID" => $processUid); if (isset($arrayDataIni["map_type"])) { $arrayData["CT_MAP_TYPE"] = $arrayDataIni["map_type"]; } if (isset($arrayDataIni["routing_history"])) { $arrayData["CT_DERIVATION_HISTORY"] = (int) $arrayDataIni["routing_history"]; } if (isset($arrayDataIni["message_history"])) { $arrayData["CT_MESSAGE_HISTORY"] = (int) $arrayDataIni["message_history"]; } $result = $caseTracker->update($arrayData); $arrayData = $arrayDataIni; //Return return $arrayData; } catch (\Exception $e) { throw $e; } }
<?php if (isset($_POST['form'])) { $sValue = $_POST['form']; } else { $sValue = $_POST; } unset($sValue['SAVE']); if (!isset($sValue['CT_DERIVATION_HISTORY'])) { $sValue['CT_DERIVATION_HISTORY'] = 0; } if (!isset($sValue['CT_MESSAGE_HISTORY'])) { $sValue['CT_MESSAGE_HISTORY'] = 0; } require_once 'classes/model/CaseTracker.php'; $oCaseTracker = new CaseTracker(); $oCaseTracker->update($sValue); $infoProcess = new Process(); $resultProcess = $infoProcess->load($sValue['PRO_UID']); if ($sValue['CT_DERIVATION_HISTORY'] == 1) { $type[] = "Routing History"; } if ($sValue['CT_MESSAGE_HISTORY'] == 1) { $type[] = "Messages History"; } G::auditLog('CaseTrackers', 'Save Case Tracker Properties (' . $sValue['CT_MAP_TYPE'] . ' - ' . implode(', ', $type) . ') in Process "' . $resultProcess['PRO_TITLE'] . '"');