BUG-11374 Process Supervisor unable to adhoc assign to self SOLVED
- No se podia reasigna un caso a un supervisor. - Se agrega la funcionalidad para que el supervisor aparesca en el listado de reasignacion. - Solo el supervisor se pude reasignar a si mismo el caso y no hacia otros supervisores.
This commit is contained in:
@@ -6432,7 +6432,7 @@ class Cases
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getUsersToReassign($TAS_UID, $USR_UID)
|
public function getUsersToReassign($TAS_UID, $USR_UID, $PRO_UID=null)
|
||||||
{
|
{
|
||||||
G::LoadClass('groups');
|
G::LoadClass('groups');
|
||||||
G::LoadClass('tasks');
|
G::LoadClass('tasks');
|
||||||
@@ -6495,6 +6495,60 @@ class Cases
|
|||||||
$rows[] = $rs->getRow();
|
$rows[] = $rs->getRow();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($PRO_UID != null) {
|
||||||
|
//Add supervisor
|
||||||
|
// Users
|
||||||
|
$oCriteria = new Criteria('workflow');
|
||||||
|
$oCriteria->addSelectColumn(ProcessUserPeer::PU_UID);
|
||||||
|
$oCriteria->addSelectColumn(ProcessUserPeer::USR_UID);
|
||||||
|
$oCriteria->addSelectColumn(ProcessUserPeer::PRO_UID);
|
||||||
|
$oCriteria->addSelectColumn(UsersPeer::USR_FIRSTNAME);
|
||||||
|
$oCriteria->addSelectColumn(UsersPeer::USR_LASTNAME);
|
||||||
|
$oCriteria->addSelectColumn(UsersPeer::USR_USERNAME);
|
||||||
|
$oCriteria->addSelectColumn(UsersPeer::USR_EMAIL);
|
||||||
|
$oCriteria->addJoin(ProcessUserPeer::USR_UID, UsersPeer::USR_UID, Criteria::LEFT_JOIN);
|
||||||
|
$oCriteria->add(ProcessUserPeer::PU_TYPE, 'SUPERVISOR');
|
||||||
|
$oCriteria->add(ProcessUserPeer::PRO_UID, $PRO_UID);
|
||||||
|
$oCriteria->add(ProcessUserPeer::USR_UID, $USR_UID);
|
||||||
|
$oCriteria->addAscendingOrderByColumn(UsersPeer::USR_FIRSTNAME);
|
||||||
|
$oDataset = ProcessUserPeer::doSelectRS($oCriteria);
|
||||||
|
$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
|
||||||
|
$flagSupervisors = false;
|
||||||
|
|
||||||
|
if ($oDataset->next()) {
|
||||||
|
$rows[] = $oDataset->getRow();
|
||||||
|
$flagSupervisors = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!$flagSupervisors) {
|
||||||
|
// Groups
|
||||||
|
$oCriteria = new Criteria('workflow');
|
||||||
|
$oCriteria->addSelectColumn(ProcessUserPeer::PU_UID);
|
||||||
|
$oCriteria->addSelectColumn(ProcessUserPeer::USR_UID);
|
||||||
|
$oCriteria->addSelectColumn(ProcessUserPeer::PRO_UID);
|
||||||
|
|
||||||
|
$oCriteria->addSelectColumn(UsersPeer::USR_UID);
|
||||||
|
$oCriteria->addSelectColumn(UsersPeer::USR_FIRSTNAME);
|
||||||
|
$oCriteria->addSelectColumn(UsersPeer::USR_LASTNAME);
|
||||||
|
$oCriteria->addSelectColumn(UsersPeer::USR_USERNAME);
|
||||||
|
$oCriteria->addSelectColumn(UsersPeer::USR_EMAIL);
|
||||||
|
|
||||||
|
$oCriteria->addJoin(ProcessUserPeer::USR_UID, GroupUserPeer::GRP_UID, Criteria::LEFT_JOIN);
|
||||||
|
$oCriteria->addJoin(GroupUserPeer::USR_UID, UsersPeer::USR_UID, Criteria::LEFT_JOIN);
|
||||||
|
|
||||||
|
$oCriteria->add(ProcessUserPeer::PU_TYPE, 'GROUP_SUPERVISOR');
|
||||||
|
$oCriteria->add(ProcessUserPeer::PRO_UID, $PRO_UID);
|
||||||
|
$oCriteria->add(GroupUserPeer::USR_UID, $USR_UID);
|
||||||
|
|
||||||
|
$oDataset = ProcessUserPeer::doSelectRS($oCriteria);
|
||||||
|
$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
|
||||||
|
|
||||||
|
if ($oDataset->next()) {
|
||||||
|
$rows[] = $oDataset->getRow();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return $rows;
|
return $rows;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -507,7 +507,7 @@ class Ajax
|
|||||||
die();
|
die();
|
||||||
}
|
}
|
||||||
$case = new Cases();
|
$case = new Cases();
|
||||||
$result->data = $case->getUsersToReassign($_SESSION['TASK'], $_SESSION['USER_LOGGED']);
|
$result->data = $case->getUsersToReassign($_SESSION['TASK'], $_SESSION['USER_LOGGED'], $_SESSION['PROCESS']);
|
||||||
|
|
||||||
print G::json_encode($result);
|
print G::json_encode($result);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -193,7 +193,10 @@ if ($actionAjax == "processListExtJs") {
|
|||||||
if ($actionAjax == "getUsersToReassign") {
|
if ($actionAjax == "getUsersToReassign") {
|
||||||
$_SESSION['TASK'] = $_REQUEST['TAS_UID'];
|
$_SESSION['TASK'] = $_REQUEST['TAS_UID'];
|
||||||
$case = new Cases();
|
$case = new Cases();
|
||||||
$result->data = $case->getUsersToReassign( $_SESSION['TASK'], $_SESSION['USER_LOGGED'] );
|
G::LoadClass( 'tasks' );
|
||||||
|
$task = new Task();
|
||||||
|
$tasks = $task->load($_SESSION['TASK']);
|
||||||
|
$result->data = $case->getUsersToReassign( $_SESSION['TASK'], $_SESSION['USER_LOGGED'], $tasks['PRO_UID'] );
|
||||||
print G::json_encode( $result );
|
print G::json_encode( $result );
|
||||||
}
|
}
|
||||||
if ($actionAjax == 'reassignCase') {
|
if ($actionAjax == 'reassignCase') {
|
||||||
|
|||||||
@@ -70,83 +70,16 @@ $oConf = new Configurations();
|
|||||||
$aUsersInvolved = Array();
|
$aUsersInvolved = Array();
|
||||||
|
|
||||||
$ConfEnv = $oConf->getFormats();
|
$ConfEnv = $oConf->getFormats();
|
||||||
$rows = $oCases->getUsersToReassign($TaskUid, $sReassignFromUser);
|
G::LoadClass( 'tasks' );
|
||||||
|
$task = new Task();
|
||||||
|
$tasks = $task->load($_SESSION['TASK']);
|
||||||
|
$rows = $oCases->getUsersToReassign($TaskUid, $_SESSION['USER_LOGGED'], $tasks['PRO_UID']);
|
||||||
$flagSupervisors = false;
|
$flagSupervisors = false;
|
||||||
foreach ($rows as $row) {
|
foreach ($rows as $row) {
|
||||||
$sCaseUser = G::getFormatUserList( $ConfEnv['format'], $row );
|
$sCaseUser = G::getFormatUserList( $ConfEnv['format'], $row );
|
||||||
$aUsersInvolved[] = array ('userUid' => $row['USR_UID'], 'userFullname' => $sCaseUser);
|
$aUsersInvolved[] = array ('userUid' => $row['USR_UID'], 'userFullname' => $sCaseUser);
|
||||||
if ($row['USR_UID'] == $_SESSION['USER_LOGGED']) {
|
|
||||||
$flagSupervisors = true;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!$flagSupervisors) {
|
|
||||||
G::LoadClass('application');
|
|
||||||
$application = new Application();
|
|
||||||
$appData = $application->Load($appUid);
|
|
||||||
|
|
||||||
$aResp =array();
|
|
||||||
$sProcessUID =$appData ['PRO_UID'];
|
|
||||||
|
|
||||||
// Users
|
|
||||||
$oCriteria = new Criteria('workflow');
|
|
||||||
$oCriteria->addSelectColumn(ProcessUserPeer::PU_UID);
|
|
||||||
$oCriteria->addSelectColumn(ProcessUserPeer::USR_UID);
|
|
||||||
$oCriteria->addSelectColumn(ProcessUserPeer::PRO_UID);
|
|
||||||
$oCriteria->addSelectColumn(UsersPeer::USR_FIRSTNAME);
|
|
||||||
$oCriteria->addSelectColumn(UsersPeer::USR_LASTNAME);
|
|
||||||
$oCriteria->addSelectColumn(UsersPeer::USR_USERNAME);
|
|
||||||
$oCriteria->addSelectColumn(UsersPeer::USR_EMAIL);
|
|
||||||
$oCriteria->addJoin(ProcessUserPeer::USR_UID, UsersPeer::USR_UID, Criteria::LEFT_JOIN);
|
|
||||||
$oCriteria->add(ProcessUserPeer::PU_TYPE, 'SUPERVISOR');
|
|
||||||
$oCriteria->add(ProcessUserPeer::PRO_UID, $sProcessUID);
|
|
||||||
$oCriteria->add(ProcessUserPeer::USR_UID, $_SESSION['USER_LOGGED']);
|
|
||||||
$oCriteria->addAscendingOrderByColumn(UsersPeer::USR_FIRSTNAME);
|
|
||||||
$oDataset = ProcessUserPeer::doSelectRS($oCriteria);
|
|
||||||
$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
|
|
||||||
$flagSupervisors = false;
|
|
||||||
|
|
||||||
if ($oDataset->next()) {
|
|
||||||
$aRow = $oDataset->getRow();
|
|
||||||
$supervisors = G::getFormatUserList( $ConfEnv['format'], $aRow );
|
|
||||||
$aUsersInvolved[] = array ('userUid' => $aRow['USR_UID'], 'userFullname' => $supervisors);
|
|
||||||
$flagSupervisors = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!$flagSupervisors) {
|
|
||||||
// Groups
|
|
||||||
$oCriteria = new Criteria('workflow');
|
|
||||||
$oCriteria->addSelectColumn(ProcessUserPeer::PU_UID);
|
|
||||||
$oCriteria->addSelectColumn(ProcessUserPeer::USR_UID);
|
|
||||||
$oCriteria->addSelectColumn(ProcessUserPeer::PRO_UID);
|
|
||||||
|
|
||||||
$oCriteria->addSelectColumn(UsersPeer::USR_UID);
|
|
||||||
$oCriteria->addSelectColumn(UsersPeer::USR_FIRSTNAME);
|
|
||||||
$oCriteria->addSelectColumn(UsersPeer::USR_LASTNAME);
|
|
||||||
$oCriteria->addSelectColumn(UsersPeer::USR_USERNAME);
|
|
||||||
$oCriteria->addSelectColumn(UsersPeer::USR_EMAIL);
|
|
||||||
|
|
||||||
$oCriteria->addJoin(ProcessUserPeer::USR_UID, GroupUserPeer::GRP_UID, Criteria::LEFT_JOIN);
|
|
||||||
$oCriteria->addJoin(GroupUserPeer::USR_UID, UsersPeer::USR_UID, Criteria::LEFT_JOIN);
|
|
||||||
|
|
||||||
$oCriteria->add(ProcessUserPeer::PU_TYPE, 'GROUP_SUPERVISOR');
|
|
||||||
$oCriteria->add(ProcessUserPeer::PRO_UID, $sProcessUID);
|
|
||||||
$oCriteria->add(GroupUserPeer::USR_UID, $_SESSION['USER_LOGGED']);
|
|
||||||
|
|
||||||
$oDataset = ProcessUserPeer::doSelectRS($oCriteria);
|
|
||||||
$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
|
|
||||||
|
|
||||||
if ($oDataset->next()) {
|
|
||||||
$aRow = $oDataset->getRow();
|
|
||||||
$supervisors = G::getFormatUserList( $ConfEnv['format'], $aRow );
|
|
||||||
$aUsersInvolved[] = array ('userUid' => $aRow['USR_UID'], 'userFullname' => $supervisors);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// $oTmp = new stdClass();
|
// $oTmp = new stdClass();
|
||||||
// $oTmp->items = $aUsersInvolved;
|
// $oTmp->items = $aUsersInvolved;
|
||||||
$result = array ();
|
$result = array ();
|
||||||
|
|||||||
Reference in New Issue
Block a user