PM-3286 "Unassigned: Al finalizar un caso a partir del listado de..." SOLVED

Issue:
    Unassigned: Al finalizar un caso a partir del listado de Unassigned se puede verificar que el caso es duplicado en la lista de Participated
Cause:
    No se elimina correctamente el caso de "participated list"; cuando se reclama el caso
Solution:
    Se elimina el caso en "participated list"; cuando se reclama el caso
This commit is contained in:
Victor Saisa Lopez
2015-08-18 12:24:43 -04:00
parent 1d9a0711fb
commit 1221d64654

View File

@@ -151,22 +151,42 @@ class ListParticipatedLast extends BaseListParticipatedLast
*/
public function remove ($app_uid, $usr_uid, $del_index)
{
$existField = ListParticipatedLastPeer::retrieveByPK($app_uid, $usr_uid, $del_index);
if (! is_null( $existField )) {
$users = new Users();
$users->refreshTotal($usr_uid, 'removed', 'participated');
}
$con = Propel::getConnection( ListParticipatedLastPeer::DATABASE_NAME );
try {
$this->setAppUid($app_uid);
$this->setUsrUid($usr_uid);
$flagDelete = false;
$con->begin();
$this->delete();
$con->commit();
if (!is_null(ListParticipatedLastPeer::retrieveByPK($app_uid, $usr_uid, $del_index))) {
$criteria = new Criteria("workflow");
$criteria->add(ListParticipatedLastPeer::APP_UID, $app_uid);
$criteria->add(ListParticipatedLastPeer::USR_UID, $usr_uid);
$criteria->add(ListParticipatedLastPeer::DEL_INDEX, $del_index);
$result = ListParticipatedLastPeer::doDelete($criteria);
$flagDelete = true;
} else {
$criteria = new Criteria("workflow");
$criteria->add(ListParticipatedLastPeer::APP_UID, $app_uid);
$criteria->add(ListParticipatedLastPeer::USR_UID, $usr_uid);
$rsCriteria = ListParticipatedLastPeer::doSelectRS($criteria);
if ($rsCriteria->next()) {
$criteria2 = clone $criteria;
$result = ListParticipatedLastPeer::doDelete($criteria2);
$flagDelete = true;
}
}
if ($flagDelete) {
$user = new Users();
$user->refreshTotal($usr_uid, "removed", "participated");
}
} catch (Exception $e) {
$con->rollback();
throw ($e);
throw $e;
}
}