From fd9d0e8ca62b63b5bd74f2a6bcaf976835e8eb40 Mon Sep 17 00:00:00 2001 From: Brayan Pereyra Date: Fri, 13 Mar 2015 15:53:14 -0400 Subject: [PATCH] Correccion de errores en reasignacion --- workflow/engine/classes/class.case.php | 28 ++++++++++++++++--- .../engine/methods/cases/casesList_Ajax.php | 2 ++ 2 files changed, 26 insertions(+), 4 deletions(-) diff --git a/workflow/engine/classes/class.case.php b/workflow/engine/classes/class.case.php index 667b7f96e..18d797232 100755 --- a/workflow/engine/classes/class.case.php +++ b/workflow/engine/classes/class.case.php @@ -1930,11 +1930,11 @@ class Cases $c->add(AppDelegationPeer::APP_UID, $sAppUid); $c->add(AppDelegationPeer::DEL_INDEX, $iDelIndex); $rowObj = AppDelegationPeer::doSelect($c); - G::LoadClass('dates'); - $oDates = new dates(); + $user = ''; foreach ($rowObj as $appDel) { $appDel->setDelThreadStatus('CLOSED'); $appDel->setDelFinishDate('now'); + $user = $appDel->getUsrUid(); if ($appDel->Validate()) { $appDel->Save(); } else { @@ -1951,7 +1951,7 @@ class Cases $data['DEL_THREAD_STATUS'] = 'CLOSED'; $data['APP_UID'] = $sAppUid; $data['DEL_INDEX'] = $iDelIndex; - $data['USR_UID'] = $appDel->getUsrUid(); + $data['USR_UID'] = $user; $listParticipatedLast = new ListParticipatedLast(); $listParticipatedLast->refresh($data); /*----------------------------------********---------------------------------*/ @@ -4281,6 +4281,27 @@ class Cases $this->appSolr->updateApplicationSearchIndex($sApplicationUID); } + /*----------------------------------********---------------------------------*/ + $oCriteria = new Criteria('workflow'); + $oCriteria->add(ListParticipatedLastPeer::APP_UID, $aData['APP_UID']); + $oCriteria->add(ListParticipatedLastPeer::USR_UID, $sUserUID); + $oCriteria->add(ListParticipatedLastPeer::DEL_INDEX, $iDelegation); + ListParticipatedLastPeer::doDelete($oCriteria); + $users = new Users(); + $users->refreshTotal($sUserUID, 'remove', 'participated'); + + $aFieldsDel = array_merge($aData, $aFieldsDel); + $aFieldsDel['USR_UID'] = $newUserUID; + $inbox = new ListInbox(); + $inbox->newRow($aFieldsDel, $sUserUID); + $users = new Users(); + if ($aFields['APP_STATUS'] == 'DRAFT') { + $users->refreshTotal($sUserUID, 'remove', 'draft'); + } else if ($iDelegation == 2) { + $users->refreshTotal($sUserUID, 'add', 'draft'); + $users->refreshTotal($sUserUID, 'remove', 'inbox'); + } + /*----------------------------------********---------------------------------*/ $this->getExecuteTriggerProcess($sApplicationUID, 'REASSIGNED'); return true; } @@ -6673,7 +6694,6 @@ class Cases } } - require_once 'classes/model/Users.php'; $c = new Criteria('workflow'); $c->addSelectColumn(UsersPeer::USR_UID); $c->addSelectColumn(UsersPeer::USR_USERNAME); diff --git a/workflow/engine/methods/cases/casesList_Ajax.php b/workflow/engine/methods/cases/casesList_Ajax.php index ed5a00827..8a4b48504 100755 --- a/workflow/engine/methods/cases/casesList_Ajax.php +++ b/workflow/engine/methods/cases/casesList_Ajax.php @@ -216,6 +216,7 @@ if ($actionAjax == "getUsersToReassign") { G::LoadClass( 'tasks' ); $task = new Task(); $tasks = $task->load($_SESSION['TASK']); + $result = new stdclass(); $result->data = $case->getUsersToReassign( $_SESSION['TASK'], $_SESSION['USER_LOGGED'], $tasks['PRO_UID'] ); print G::json_encode( $result ); } @@ -240,6 +241,7 @@ if ($actionAjax == 'reassignCase') { //print_r($caseData); $data['APP_NUMBER'] = $caseData['APP_NUMBER']; $data['USER'] = $userData['USR_LASTNAME'] . ' ' . $userData['USR_FIRSTNAME']; //TODO change with the farmated username from environment conf + $result = new stdclass(); $result->status = 0; $result->msg = G::LoadTranslation( 'ID_REASSIGNMENT_SUCCESS', SYS_LANG, $data ); } catch (Exception $e) {