From e18b292d7851f95ec0f20b6c72d8da8bbee0abc9 Mon Sep 17 00:00:00 2001 From: Erik Amaru Ortiz Date: Thu, 12 May 2011 17:25:22 -0400 Subject: [PATCH] BUG 6877 the error was fixed The main problam was that the missing report_to users was not handling correctly but now it work fine --- workflow/engine/classes/class.derivation.php | 25 ++++++++------------ workflow/engine/methods/cases/cases_Step.php | 4 ++-- 2 files changed, 12 insertions(+), 17 deletions(-) diff --git a/workflow/engine/classes/class.derivation.php b/workflow/engine/classes/class.derivation.php index 3327d9306..6a252e0fe 100644 --- a/workflow/engine/classes/class.derivation.php +++ b/workflow/engine/classes/class.derivation.php @@ -321,6 +321,7 @@ class Derivation else { $oCriteria = new Criteria(); $oCriteria->add(UsersPeer::USR_UID, $aUsers); + var_dump(UsersPeer::doCount($oCriteria)); if (UsersPeer::doCount($oCriteria) < 1) { return null; } @@ -417,23 +418,17 @@ class Derivation $userFields['USR_LASTNAME'] = ''; $userFields['USR_EMAIL'] = ''; - //look for USR_REPORTS_TO to this user + //get the report_to user & its full info $useruid = $this->getDenpendentUser($tasInfo['USER_UID']); - if ( isset ( $useruid ) ) { - if ($useruid != '') { - $value = $useruid; - $userFields = $this->getUsersFullNameFromArray ($value); - if (is_null($userFields)) { - //throw ( new Exception("The current user does not have a valid Reports To user. Please contact administrator.") ) ; - } - } - else { - //throw ( new Exception("The current user does not have a valid Reports To user. Please contact administrator.") ) ; - } + + if (isset($useruid) && $useruid != '') { + $userFields = $this->getUsersFullNameFromArray($useruid); + } + + // if there is no report_to user info, throw an exception indicating this + if (!isset($userFields) || $userFields['USR_UID'] == '') { + throw ( new Exception("The current user does not have a valid Reports To user. Please contact administrator.") ) ; } - else - $userFields = "ERROR"; - //throw ( new Exception("The current user does not have a valid Reports To user. Please contact administrator.") ) ; break; case 'SELF_SERVICE' : diff --git a/workflow/engine/methods/cases/cases_Step.php b/workflow/engine/methods/cases/cases_Step.php index 50ccf3c09..87e67013e 100644 --- a/workflow/engine/methods/cases/cases_Step.php +++ b/workflow/engine/methods/cases/cases_Step.php @@ -963,9 +963,9 @@ //Add content content step - End } catch ( Exception $e ) { - G::SendTemporalMessage($e->getMessage(), 'error', 'string', 3, 100); + G::SendTemporalMessage(G::LoadTranslation('ID_PROCESS_DEF_PROBLEM'), 'error', 'string', 3, 100); $aMessage = array(); - $aMessage['MESSAGE'] = G::LoadTranslation('ID_PROCESS_DEF_PROBLEM').'
'.G::LoadTranslation('ID_CONTACT_ADMIN'); + $aMessage['MESSAGE'] = $e->getMessage(); $G_PUBLISH = new Publisher; $G_PUBLISH->AddContent('xmlform', 'xmlform', 'login/showMessage', '', $aMessage ); G::RenderPage( 'publish', 'blank' );