From 67f5627c5bbb22562c078204f7fc1d9e95cff6ca Mon Sep 17 00:00:00 2001 From: dheeyi Date: Tue, 22 Mar 2016 16:13:41 -0400 Subject: [PATCH] MT-28 Adding methods update --- workflow/engine/classes/class.processes.php | 25 +++++++++++++++---- .../BusinessModel/FilesManager.php | 24 ++++++++++++++++++ 2 files changed, 44 insertions(+), 5 deletions(-) diff --git a/workflow/engine/classes/class.processes.php b/workflow/engine/classes/class.processes.php index dc5f379e3..05c866377 100755 --- a/workflow/engine/classes/class.processes.php +++ b/workflow/engine/classes/class.processes.php @@ -2833,10 +2833,18 @@ class Processes /** * @param $aTrigger + * @throws Exception */ - public function updateTriggerRows ($aTrigger) + public function updateTriggerRows($aTrigger) { - + foreach ($aTrigger as $key => $row) { + $oTrigger = new Triggers(); + if ($oTrigger->TriggerExists($row['TRI_UID'])) { + $oTrigger->update($row); + } else { + $oTrigger->create($row); + } + } } /** @@ -3813,13 +3821,20 @@ class Processes } /** - * @param $processUid * @param array $arrayData - * for Templates and Public Files + * @throws Exception */ - public function updateFilesManager($processUid, array $arrayData) + public function updateFilesManager(array $arrayData) { + try { + $filesManager = new \ProcessMaker\BusinessModel\FilesManager(); + foreach ($arrayData as $value) { + $filesManager->updateProcessFilesManagerInDb($value); + } + } catch (Exception $e) { + throw $e; + } } /** diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/FilesManager.php b/workflow/engine/src/ProcessMaker/BusinessModel/FilesManager.php index 87b20d3d9..cc2a55273 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/FilesManager.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/FilesManager.php @@ -267,6 +267,30 @@ class FilesManager } } + /** + * @param $aData + * @throws Exception + */ + public function updateProcessFilesManagerInDb($aData) + { + try { + //update database + if ($this->existsProcessFile($aData['prf_uid'])) { + $aData = array_change_key_case($aData, CASE_UPPER); + $oProcessFiles = \ProcessFilesPeer::retrieveByPK($aData['PRF_UID']); + $sDate = date('Y-m-d H:i:s'); + $oProcessFiles->setPrfUpdateDate($sDate); + $oProcessFiles->setProUid($aData['PRO_UID']); + $oProcessFiles->setPrfPath($aData['PRF_PATH']); + $oProcessFiles->save(); + } else { + $this->addProcessFilesManagerInDb($aData); + } + } catch (Exception $e) { + throw $e; + } + } + public function existsProcessFile($prfUid) { try {