From 96e7c7588e6ebfe59b964e900511cfd60c2cc803 Mon Sep 17 00:00:00 2001 From: Roly Rudy Gutierrez Pinto Date: Wed, 13 Jun 2018 13:33:23 -0400 Subject: [PATCH] HOR-4658 --- workflow/engine/classes/Applications.php | 3 +++ workflow/engine/methods/services/ActionsByEmail.php | 1 + .../engine/methods/services/ActionsByEmailDataFormPost.php | 1 + .../engine/src/ProcessMaker/BusinessModel/Cases/ChangeLog.php | 2 +- 4 files changed, 6 insertions(+), 1 deletion(-) diff --git a/workflow/engine/classes/Applications.php b/workflow/engine/classes/Applications.php index 81c794421..f55dc57c1 100644 --- a/workflow/engine/classes/Applications.php +++ b/workflow/engine/classes/Applications.php @@ -1187,6 +1187,9 @@ class Applications case 'EXTERNAL': $stepTitle = 'unknown ' . $caseStep->getStepUidObj(); $oPluginRegistry = PluginRegistry::loadSingleton(); + if (empty($externalSteps[$caseStep->getStepUidObj()])) { + throw new Exception(G::LoadTranslation('ID_EXTERNAL_STEP_MISSING', SYS_LANG, ['plugin' => $stepTitle])); + } $externalStep = $externalSteps[$caseStep->getStepUidObj()]; $stepItem['id'] = $externalStep->getStepId(); $stepItem['title'] = $externalStep->getStepTitle(); diff --git a/workflow/engine/methods/services/ActionsByEmail.php b/workflow/engine/methods/services/ActionsByEmail.php index 8e3a3f3a6..74df3f6ab 100644 --- a/workflow/engine/methods/services/ActionsByEmail.php +++ b/workflow/engine/methods/services/ActionsByEmail.php @@ -64,6 +64,7 @@ if (isset($_GET['BROWSER_TIME_ZONE_OFFSET'])) { } ChangeLog::getChangeLog() + ->getUsrIdByUsrUid($caseFieldsABE['CURRENT_USER_UID'], true) ->setSourceId(ChangeLog::FromABE); $caseFieldsABE['CURRENT_DYNAFORM'] = ''; diff --git a/workflow/engine/methods/services/ActionsByEmailDataFormPost.php b/workflow/engine/methods/services/ActionsByEmailDataFormPost.php index 69586c4e8..d06640ba5 100644 --- a/workflow/engine/methods/services/ActionsByEmailDataFormPost.php +++ b/workflow/engine/methods/services/ActionsByEmailDataFormPost.php @@ -56,6 +56,7 @@ if (PMLicensedFeatures::getSingleton() $casesFields['USER_UID'] = $casesFields['CURRENT_USER_UID']; ChangeLog::getChangeLog() + ->getUsrIdByUsrUid($casesFields['USER_UID'], true) ->setSourceId(ChangeLog::FromABE); //Update case info diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/Cases/ChangeLog.php b/workflow/engine/src/ProcessMaker/BusinessModel/Cases/ChangeLog.php index 4ac78cad0..61a8478c7 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/Cases/ChangeLog.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/Cases/ChangeLog.php @@ -262,7 +262,7 @@ class ChangeLog return false; } foreach ($this->permissions as $type => $ids) { - if (array_search($uid, $ids) !== false) { + if (is_array($ids) && array_search($uid, $ids) !== false) { return true; } }