Worked on creating and Saving Case tracker properties and started with Users and user groups(Ad hoc) Extjs
This commit is contained in:
@@ -5719,5 +5719,114 @@ class processMap {
|
||||
}
|
||||
return $aReportTable;
|
||||
}
|
||||
function getExtAvailableUsersList($sTaskUID = '', $iType = 1) {
|
||||
try {
|
||||
$oTasks = new Tasks ( );
|
||||
$aAux = $oTasks->getGroupsOfTask($sTaskUID, $iType);
|
||||
$aUIDS1 = array();
|
||||
$aUIDS2 = array();
|
||||
foreach ($aAux as $aGroup) {
|
||||
$aUIDS1 [] = $aGroup ['GRP_UID'];
|
||||
}
|
||||
$aAux = $oTasks->getUsersOfTask($sTaskUID, $iType);
|
||||
foreach ($aAux as $aUser) {
|
||||
$aUIDS2 [] = $aUser ['USR_UID'];
|
||||
}
|
||||
$aUsers = array();
|
||||
$aUsers [] = array('LABEL' => 'char', 'TAS_UID' => 'char', 'USR_UID' => 'char', 'TU_TYPE' => 'integer', 'TU_RELATION' => 'integer');
|
||||
$sDelimiter = DBAdapter::getStringDelimiter ();
|
||||
$oCriteria = new Criteria('workflow');
|
||||
$oCriteria->addSelectColumn(GroupwfPeer::GRP_UID);
|
||||
$oCriteria->addAsColumn('GRP_TITLE', 'C.CON_VALUE');
|
||||
$oCriteria->addAlias('C', 'CONTENT');
|
||||
$aConditions = array();
|
||||
$aConditions [] = array(GroupwfPeer::GRP_UID, 'C.CON_ID');
|
||||
$aConditions [] = array('C.CON_CATEGORY', $sDelimiter . 'GRP_TITLE' . $sDelimiter);
|
||||
$aConditions [] = array('C.CON_LANG', $sDelimiter . SYS_LANG . $sDelimiter);
|
||||
$oCriteria->addJoinMC($aConditions, Criteria::LEFT_JOIN);
|
||||
$oCriteria->add(GroupwfPeer::GRP_STATUS, 'ACTIVE');
|
||||
$oCriteria->add(GroupwfPeer::GRP_UID, $aUIDS1, Criteria::NOT_IN);
|
||||
//$oCriteria->add(GroupwfPeer::GRP_UID, '', Criteria::NOT_EQUAL);
|
||||
$oDataset = GroupwfPeer::doSelectRS($oCriteria);
|
||||
$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
|
||||
$oDataset->next();
|
||||
$c = 0;
|
||||
while ($aRow = $oDataset->getRow()) {
|
||||
$c++;
|
||||
$oCriteria = new Criteria('workflow');
|
||||
$oCriteria->addSelectColumn('COUNT(*) AS MEMBERS_NUMBER');
|
||||
$oCriteria->add(GroupUserPeer::GRP_UID, $aRow ['GRP_UID']);
|
||||
$oDataset2 = GroupUserPeer::doSelectRS($oCriteria);
|
||||
$oDataset2->setFetchmode(ResultSet::FETCHMODE_ASSOC);
|
||||
$oDataset2->next();
|
||||
$aRow2 = $oDataset2->getRow();
|
||||
$aUsers [] = array('LABEL' => $aRow ['GRP_TITLE'] . ' <a href="#" onclick="usersGroup(\'' . $aRow ['GRP_UID'] . '\', \'' . $c . '\');return false;"><font color="green"><strong>(' . $aRow2 ['MEMBERS_NUMBER'] . ' ' . ((int) $aRow2 ['MEMBERS_NUMBER'] == 1 ? G::LoadTranslation('ID_USER') : G::LoadTranslation('ID_USERS')) . ')</strong></font></a> <br /><div id="users' . $c . '" style="display: none"></div>', 'TAS_UID' => $sTaskUID, 'USR_UID' => $aRow ['GRP_UID'], 'TU_TYPE' => $iType, 'TU_RELATION' => 2);
|
||||
$oDataset->next();
|
||||
}
|
||||
$sDelimiter = DBAdapter::getStringDelimiter ();
|
||||
$oCriteria = new Criteria('workflow');
|
||||
$oCriteria->addSelectColumn(UsersPeer::USR_UID);
|
||||
$oCriteria->addSelectColumn(UsersPeer::USR_FIRSTNAME);
|
||||
$oCriteria->addSelectColumn(UsersPeer::USR_LASTNAME);
|
||||
$oCriteria->add(UsersPeer::USR_STATUS, 'ACTIVE');
|
||||
$oCriteria->add(UsersPeer::USR_UID, $aUIDS2, Criteria::NOT_IN);
|
||||
$oDataset = UsersPeer::doSelectRS($oCriteria);
|
||||
$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
|
||||
$oDataset->next();
|
||||
while ($aRow = $oDataset->getRow()) {
|
||||
$aUsers [] = array('LABEL' => $aRow ['USR_FIRSTNAME'] . ' ' . $aRow ['USR_LASTNAME'], 'TAS_UID' => $sTaskUID, 'USR_UID' => $aRow ['USR_UID'], 'TU_TYPE' => $iType, 'TU_RELATION' => 1);
|
||||
$oDataset->next();
|
||||
}
|
||||
global $_DBArray;
|
||||
$_DBArray = (isset($_SESSION ['_DBArray']) ? $_SESSION ['_DBArray'] : '');
|
||||
$_DBArray ['availableUsers'] = $aUsers;
|
||||
$_SESSION ['_DBArray'] = $_DBArray;
|
||||
G::LoadClass('ArrayPeer');
|
||||
$oCriteria = new Criteria('dbarray');
|
||||
$oCriteria->setDBArrayTable('availableUsers');
|
||||
$oCriteria->addDescendingOrderByColumn(TaskUserPeer::TU_RELATION);
|
||||
$oCriteria->addAscendingOrderByColumn('LABEL');
|
||||
return $oCriteria;
|
||||
} catch (Exception $oError) {
|
||||
throw ($oError);
|
||||
}
|
||||
}
|
||||
function getExtusersadhoc($sProcessUID = '', $sTaskUID = '') {
|
||||
try {
|
||||
$oProcess = new Process ( );
|
||||
$aFields = $oProcess->load($sProcessUID);
|
||||
$oTask = new Task ( );
|
||||
$aFields = $oTask->load($sTaskUID);
|
||||
|
||||
$_SESSION ['iType'] = 2;
|
||||
|
||||
$aFields ['TASK'] = $sTaskUID;
|
||||
$aFields ['TYPE'] = $_SESSION ['iType'];
|
||||
$aFields ['OF_TO_ASSIGN'] = G::LoadTranslation('ID_DE_ASSIGN');
|
||||
$aFields ['CONFIRM'] = G::LoadTranslation('ID_MSG_CONFIRM_DEASIGN_USER_GROUP_MESSAGE');
|
||||
$aFields ['UIDS'] = "'0'";
|
||||
|
||||
$oTasks = new Tasks ( );
|
||||
$oGroups = new Groups ( );
|
||||
$aAux1 = $oTasks->getGroupsOfTask($sTaskUID, $_SESSION ['iType']);
|
||||
foreach ($aAux1 as $aGroup) {
|
||||
$aAux2 = $oGroups->getUsersOfGroup($aGroup ['GRP_UID']);
|
||||
foreach ($aAux2 as $aUser) {
|
||||
$aFields ['UIDS'] .= ",'" . $aUser ['USR_UID'] . "'";
|
||||
}
|
||||
}
|
||||
global $G_PUBLISH;
|
||||
$G_PUBLISH = new Publisher ( );
|
||||
$oTask = new Task ( );
|
||||
$aTask = $oTask->load($sTaskUID);
|
||||
|
||||
$G_PUBLISH->AddContent('propeltable', 'paged-table', 'users/users_ShortListAdhoc', $this->getTaskUsersCriteria($sTaskUID, $_SESSION ['iType']), $aFields);
|
||||
|
||||
G::RenderPage('publish', 'raw');
|
||||
return true;
|
||||
} catch (Exception $oError) {
|
||||
throw ($oError);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user