BUG 8062 se dio solucion a este problema de la manera sugerida por erik
This commit is contained in:
@@ -1149,34 +1149,23 @@ class processMap {
|
||||
$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();
|
||||
$groups = new Groupwf();
|
||||
$start = '';
|
||||
$limit = '';
|
||||
$filter = '';
|
||||
$result = $groups->getAllGroup($start,$limit,$filter);
|
||||
$c = 0;
|
||||
while ($aRow = $oDataset->getRow()) {
|
||||
foreach ($result as $results) {
|
||||
$c++;
|
||||
$oCriteria = new Criteria('workflow');
|
||||
$oCriteria->addSelectColumn('COUNT(*) AS MEMBERS_NUMBER');
|
||||
$oCriteria->add(GroupUserPeer::GRP_UID, $aRow ['GRP_UID']);
|
||||
$oCriteria->add(GroupUserPeer::GRP_UID, $results ['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();
|
||||
}
|
||||
$aUsers [] = array ('LABEL' => $results ['GRP_TITLE'] .' <a href="#" onclick="usersGroup(\'' . $results ['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' => $results ['GRP_UID'], 'TU_TYPE' => $iType, 'TU_RELATION' => 2);
|
||||
}
|
||||
$sDelimiter = DBAdapter::getStringDelimiter ();
|
||||
$oCriteria = new Criteria('workflow');
|
||||
$oCriteria->addSelectColumn(UsersPeer::USR_UID);
|
||||
|
||||
@@ -313,6 +313,64 @@ class Groupwf extends BaseGroupwf {
|
||||
return $result;
|
||||
}
|
||||
|
||||
function getAllGroup($start=null, $limit=null, $search=null)
|
||||
{
|
||||
require_once PATH_RBAC . "model/RbacUsers.php";
|
||||
require_once 'classes/model/TaskUser.php';
|
||||
require_once 'classes/model/GroupUser.php';
|
||||
|
||||
$totalCount = 0;
|
||||
$criteria = new Criteria('workflow');
|
||||
$criteria->addSelectColumn(GroupwfPeer::GRP_UID);
|
||||
$criteria->addSelectColumn(GroupwfPeer::GRP_STATUS);
|
||||
$criteria->addSelectColumn(GroupwfPeer::GRP_UX);
|
||||
$criteria->add(GroupwfPeer::GRP_STATUS, 'ACTIVE');
|
||||
$oDataset = GroupwfPeer::doSelectRS ( $criteria );
|
||||
$oDataset->setFetchmode ( ResultSet::FETCHMODE_ASSOC );
|
||||
$processes = Array();
|
||||
$uids=array();
|
||||
|
||||
while( $oDataset->next() ) {
|
||||
$groups[] = $oDataset->getRow();
|
||||
$uids[] = $groups[sizeof($groups)-1]['GRP_UID'];
|
||||
}
|
||||
|
||||
// for labels of groups
|
||||
$groupDetails = Array();
|
||||
$c = new Criteria('workflow');
|
||||
$c->add ( ContentPeer::CON_LANG, defined('SYS_LANG')?SYS_LANG:'en', Criteria::EQUAL );
|
||||
$c->add ( ContentPeer::CON_ID, $uids, Criteria::IN );
|
||||
|
||||
$dt = ContentPeer::doSelectRS ($c);
|
||||
$dt->setFetchmode(ResultSet::FETCHMODE_ASSOC);
|
||||
|
||||
while( $dt->next() ) {
|
||||
$row = $dt->getRow();
|
||||
$groupDetails[$row['CON_ID']] [$row['CON_CATEGORY']] = $row['CON_VALUE'];
|
||||
}
|
||||
|
||||
// foreach all groups
|
||||
|
||||
foreach( $groups as $group ) {
|
||||
$grpTitle = isset($groupDetails[$group['GRP_UID']]) && isset($groupDetails[$group['GRP_UID']]['GRP_TITLE']) ? $groupDetails[$group['GRP_UID']]['GRP_TITLE'] : '';
|
||||
if ( trim($grpTitle) == '') { // if not, then load the record to generate content for current language
|
||||
$grpData = $this->load($group['GRP_UID']);
|
||||
$grpTitle = $grpData['GRP_TITLE'];
|
||||
}
|
||||
|
||||
//filtering by $processName
|
||||
if( isset($search) && $search != '' && stripos($grpTitle, $search) === false){
|
||||
continue;
|
||||
}
|
||||
|
||||
$group['GRP_TITLE'] = $grpTitle;
|
||||
|
||||
$aGroups[] = $group;
|
||||
}
|
||||
|
||||
return $aGroups;
|
||||
}
|
||||
|
||||
function filterGroup($filter,$start,$limit)
|
||||
{
|
||||
require_once 'classes/model/Groupwf.php';
|
||||
|
||||
@@ -99,7 +99,6 @@ switch ($_POST['action'])
|
||||
require_once 'classes/model/TaskUser.php';
|
||||
require_once 'classes/model/GroupUser.php';
|
||||
G::LoadClass('configuration');
|
||||
|
||||
$co = new Configurations();
|
||||
$config = $co->getConfiguration('groupList', 'pageSize','',$_SESSION['USER_LOGGED']);
|
||||
$env = $co->getConfiguration('ENVIRONMENT_SETTINGS', '');
|
||||
@@ -107,35 +106,7 @@ switch ($_POST['action'])
|
||||
$start = isset($_REQUEST['start']) ? $_REQUEST['start'] : 0;
|
||||
$limit = isset($_REQUEST['limit']) ? $_REQUEST['limit'] : $limit_size;
|
||||
$filter = isset($_REQUEST['textFilter']) ? $_REQUEST['textFilter'] : '';
|
||||
|
||||
$oCriteria = new Criteria('workflow');
|
||||
$oCriteria->addSelectColumn(GroupwfPeer::GRP_UID);
|
||||
$oCriteria->addJoin(GroupwfPeer::GRP_UID, ContentPeer::CON_ID, Criteria::LEFT_JOIN);
|
||||
$oCriteria->add(ContentPeer::CON_CATEGORY,'GRP_TITLE');
|
||||
$oCriteria->add(ContentPeer::CON_LANG,SYS_LANG);
|
||||
if ($filter != ''){
|
||||
$oCriteria->add(ContentPeer::CON_VALUE, '%'.$filter.'%', Criteria::LIKE);
|
||||
}
|
||||
$totalRows = GroupwfPeer::doCount($oCriteria);
|
||||
|
||||
$oCriteria = new Criteria('workflow');
|
||||
|
||||
$oCriteria->addSelectColumn(GroupwfPeer::GRP_UID);
|
||||
$oCriteria->addSelectColumn(GroupwfPeer::GRP_STATUS);
|
||||
$oCriteria->addSelectColumn(GroupwfPeer::GRP_UX);
|
||||
$oCriteria->addSelectColumn(ContentPeer::CON_VALUE);
|
||||
$oCriteria->addAsColumn('GRP_TASKS', 0);
|
||||
$oCriteria->addAsColumn('GRP_USERS', 0);
|
||||
$oCriteria->addJoin(GroupwfPeer::GRP_UID, ContentPeer::CON_ID, Criteria::LEFT_JOIN);
|
||||
$oCriteria->add(ContentPeer::CON_CATEGORY,'GRP_TITLE');
|
||||
$oCriteria->add(ContentPeer::CON_LANG,SYS_LANG);
|
||||
if ($filter != ''){
|
||||
$oCriteria->add(ContentPeer::CON_VALUE, '%'.$filter.'%', Criteria::LIKE);
|
||||
}
|
||||
$oCriteria->setOffset($start);
|
||||
$oCriteria->setLimit($limit);
|
||||
$oDataset = GroupwfPeer::doSelectRS($oCriteria);
|
||||
$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
|
||||
global $RBAC;
|
||||
|
||||
$tasks = new TaskUser();
|
||||
@@ -147,16 +118,15 @@ switch ($_POST['action'])
|
||||
require_once PATH_CONTROLLERS . 'adminProxy.php';
|
||||
$uxList = adminProxy::getUxTypesList();
|
||||
|
||||
$arrData = Array();
|
||||
while ($oDataset->next()){
|
||||
$row = $oDataset->getRow();
|
||||
$row['GRP_TASKS'] = isset($aTask[$row['GRP_UID']]) ? $aTask[$row['GRP_UID']] : 0;
|
||||
$row['GRP_USERS'] = isset($aMembers[$row['GRP_UID']]) ? $aMembers[$row['GRP_UID']] : 0;
|
||||
$group = GroupwfPeer::retrieveByPK($row['GRP_UID']);
|
||||
$row['CON_VALUE'] = $group->getGrpTitle();
|
||||
$row['GRP_UX'] = isset($uxList[$row['GRP_UX']]) ? $uxList[$row['GRP_UX']] : $uxList['NORMAL'];
|
||||
|
||||
$arrData[] = $row;
|
||||
$groups = new Groupwf();
|
||||
$result = $groups->getAllGroup($start,$limit,$filter);
|
||||
$totalRows = 0;
|
||||
foreach ($result as $results) {
|
||||
$totalRows ++;
|
||||
$results['CON_VALUE'] = $results['GRP_TITLE'];
|
||||
$results['GRP_TASKS'] = isset($aTask[$results['GRP_UID']]) ? $aTask[$results['GRP_UID']] : 0;
|
||||
$results['GRP_USERS'] = isset($aMembers[$results['GRP_UID']]) ? $aMembers[$results['GRP_UID']] : 0;
|
||||
$arrData[] = $results;
|
||||
}
|
||||
|
||||
echo '{success: true, groups: '.G::json_encode($arrData).', total_groups: '.$totalRows.'}';
|
||||
|
||||
Reference in New Issue
Block a user