diff --git a/workflow/engine/classes/model/ListParticipatedLast.php b/workflow/engine/classes/model/ListParticipatedLast.php index ce7321e43..487ade2ad 100644 --- a/workflow/engine/classes/model/ListParticipatedLast.php +++ b/workflow/engine/classes/model/ListParticipatedLast.php @@ -49,19 +49,24 @@ class ListParticipatedLast extends BaseListParticipatedLast $data['DEL_CURRENT_USR_FIRSTNAME'] = $aRow['USR_FIRSTNAME']; $data['DEL_CURRENT_USR_LASTNAME'] = $aRow['USR_LASTNAME']; $data['DEL_CURRENT_TAS_TITLE'] = $data['APP_TAS_TITLE']; + $currentInformation = array( + 'DEL_CURRENT_USR_USERNAME' => $data['DEL_CURRENT_USR_USERNAME'], + 'DEL_CURRENT_USR_FIRSTNAME' => $data['DEL_CURRENT_USR_FIRSTNAME'], + 'DEL_CURRENT_USR_LASTNAME' => $data['DEL_CURRENT_USR_LASTNAME'], + 'DEL_CURRENT_TAS_TITLE' => $data['APP_TAS_TITLE'] + ); } } else { $getData['USR_UID'] = $data['USR_UID_CURRENT']; $getData['APP_UID'] = $data['APP_UID']; $row = $this->getRowFromList($getData); if (is_array($row) && sizeof($row)) { - $set = array( + $currentInformation = array( 'DEL_CURRENT_USR_USERNAME' => '', 'DEL_CURRENT_USR_FIRSTNAME' => '', 'DEL_CURRENT_USR_LASTNAME' => '', - 'APP_TAS_TITLE' => $data['APP_TAS_TITLE'], - 'DEL_CURRENT_TAS_TITLE' => $data['APP_TAS_TITLE'], ); - $this->updateCurrentUser($row, $set); + 'DEL_CURRENT_TAS_TITLE' => $data['APP_TAS_TITLE'] + ); } } @@ -84,6 +89,9 @@ class ListParticipatedLast extends BaseListParticipatedLast if (!empty($data['APP_STATUS'])) { $data['APP_STATUS_ID'] = Application::$app_status_values[$data['APP_STATUS']]; } + //We will update the current information + $this->updateCurrentInfoByAppUid($data['APP_UID'], $currentInformation); + $con = Propel::getConnection(ListParticipatedLastPeer::DATABASE_NAME); try { $this->fromArray($data, BasePeer::TYPE_FIELDNAME); @@ -103,6 +111,27 @@ class ListParticipatedLast extends BaseListParticipatedLast } } + /** + * This function update the row related to the appUid with the current information + * @param string $appUid + * @param array $currentInformation + * @return void + */ + private function updateCurrentInfoByAppUid($appUid, $currentInformation) + { + //Update - WHERE + $criteriaWhere = new Criteria('workflow'); + $criteriaWhere->add(ListParticipatedLastPeer::APP_UID, $appUid, Criteria::EQUAL); + //Update - SET + $criteriaSet = new Criteria('workflow'); + $criteriaSet->add(ListParticipatedLastPeer::DEL_CURRENT_USR_USERNAME, $currentInformation['DEL_CURRENT_USR_USERNAME']); + $criteriaSet->add(ListParticipatedLastPeer::DEL_CURRENT_USR_FIRSTNAME, $currentInformation['DEL_CURRENT_USR_FIRSTNAME']); + $criteriaSet->add(ListParticipatedLastPeer::DEL_CURRENT_USR_LASTNAME, $currentInformation['DEL_CURRENT_USR_LASTNAME']); + $criteriaSet->add(ListParticipatedLastPeer::DEL_CURRENT_TAS_TITLE, $currentInformation['DEL_CURRENT_TAS_TITLE']); + + BasePeer::doUpdate($criteriaWhere, $criteriaSet, Propel::getConnection('workflow')); + } + /** * Update List Participated History Table. * @@ -448,22 +477,6 @@ class ListParticipatedLast extends BaseListParticipatedLast return false; } - public function updateCurrentUser($where, $set) - { - $con = Propel::getConnection('workflow'); - //Update - WHERE - $criteriaWhere = new Criteria('workflow'); - $criteriaWhere->add(ListParticipatedLastPeer::APP_UID, $where['APP_UID'], Criteria::EQUAL); - $criteriaWhere->add(ListParticipatedLastPeer::USR_UID, $where['USR_UID'], Criteria::EQUAL); - $criteriaWhere->add(ListParticipatedLastPeer::DEL_INDEX, $where['DEL_INDEX'], Criteria::EQUAL); - //Update - SET - $criteriaSet = new Criteria('workflow'); - foreach ($set as $k => $v) { - eval('$criteriaSet->add( ListParticipatedLastPeer::'.$k.',$v, Criteria::EQUAL);'); - } - BasePeer::doUpdate($criteriaWhere, $criteriaSet, $con); - } - /** * Returns the number of cases of a user. *