From 52f0930b31a95a53ebe622dd235866e38a9ca567 Mon Sep 17 00:00:00 2001 From: Brayan Pereyra Date: Thu, 23 Apr 2015 12:06:04 -0400 Subject: [PATCH] PM-2398 El contador de listados en home muestran datos incorrectos --- workflow/engine/classes/class.case.php | 8 +++++--- workflow/engine/classes/model/ListCanceled.php | 14 +++++++++++++- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/workflow/engine/classes/class.case.php b/workflow/engine/classes/class.case.php index 87839c453..4f27344f9 100755 --- a/workflow/engine/classes/class.case.php +++ b/workflow/engine/classes/class.case.php @@ -4100,6 +4100,7 @@ class Cases $oApplication = new Application(); $aFields = $oApplication->load($sApplicationUID); + $appStatusCurrent = $aFields['APP_STATUS']; $oCriteria = new Criteria('workflow'); $oCriteria->add(AppDelegationPeer::APP_UID, $sApplicationUID); $oCriteria->add(AppDelegationPeer::DEL_FINISH_DATE, null, Criteria::ISNULL); @@ -4168,9 +4169,10 @@ class Cases } /*----------------------------------********---------------------------------*/ $data = array ( - 'APP_UID' => $sApplicationUID, - 'DEL_INDEX' => $iIndex, - 'USR_UID' => $user_logged + 'APP_UID' => $sApplicationUID, + 'DEL_INDEX' => $iIndex, + 'USR_UID' => $user_logged, + 'APP_STATUS_CURRENT' => $appStatusCurrent ); $data = array_merge($aFields, $data); $oListCanceled = new ListCanceled(); diff --git a/workflow/engine/classes/model/ListCanceled.php b/workflow/engine/classes/model/ListCanceled.php index a81944440..f5d740bc4 100644 --- a/workflow/engine/classes/model/ListCanceled.php +++ b/workflow/engine/classes/model/ListCanceled.php @@ -104,9 +104,21 @@ class ListCanceled extends BaseListCanceled { $oListInbox->removeAll($data['APP_UID']); $users = new Users(); - $users->refreshTotal($data['USR_UID'], 'removed', 'inbox'); + if (!empty($data['APP_STATUS_CURRENT']) && $data['APP_STATUS_CURRENT'] == 'DRAFT') { + $users->refreshTotal($data['USR_UID'], 'removed', 'draft'); + } else { + $users->refreshTotal($data['USR_UID'], 'removed', 'inbox'); + } $users->refreshTotal($data['USR_UID'], 'add', 'canceled'); + //Update - WHERE + $criteriaWhere = new Criteria("workflow"); + $criteriaWhere->add(ListParticipatedLastPeer::APP_UID, $data["APP_UID"], Criteria::EQUAL); + //Update - SET + $criteriaSet = new Criteria("workflow"); + $criteriaSet->add(ListParticipatedLastPeer::APP_STATUS, 'CANCELLED'); + BasePeer::doUpdate($criteriaWhere, $criteriaSet, Propel::getConnection("workflow")); + $con = Propel::getConnection( ListCanceledPeer::DATABASE_NAME ); try { $this->fromArray( $data, BasePeer::TYPE_FIELDNAME );