BUG 8792 Paginación de tamaño 20 en los grupos de usuarios no funciona SOLVED

- no funcionaba correctamente la paginacion en el listado de grupos.
- se soluciono añadiendo a la consulta el limite y el inicio del listado.
This commit is contained in:
Alvaro Campos
2012-04-05 09:17:12 -04:00
parent 55616696b7
commit 917a1ac704
2 changed files with 28 additions and 5 deletions

View File

@@ -324,7 +324,16 @@ class Groupwf extends BaseGroupwf {
$criteria->addSelectColumn(GroupwfPeer::GRP_UID);
$criteria->addSelectColumn(GroupwfPeer::GRP_STATUS);
$criteria->addSelectColumn(GroupwfPeer::GRP_UX);
$criteria->add(GroupwfPeer::GRP_STATUS, 'ACTIVE');
$criteria->add(GroupwfPeer::GRP_STATUS, 'ACTIVE');
$criteriaCount = clone $criteria;
if($start != '')
$criteria->setOffset($start);
if($limit != '')
$criteria->setLimit($limit);
$oDataset = GroupwfPeer::doSelectRS ( $criteria );
$oDataset->setFetchmode ( ResultSet::FETCHMODE_ASSOC );
$processes = Array();
@@ -368,8 +377,15 @@ class Groupwf extends BaseGroupwf {
$aGroups[] = $group;
}
$criteriaCount->clearSelectColumns();
$criteriaCount->addSelectColumn('COUNT(*) AS CNT');
$dt = ContentPeer::doSelectRS ($criteriaCount);
$dt->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$dt->next();
$row = $dt->getRow();
return $aGroups;
return array('rows' => $aGroups, 'totalCount'=>$row ['CNT']);
}
function filterGroup($filter,$start,$limit)

View File

@@ -108,7 +108,7 @@ switch ($_POST['action'])
$filter = isset($_REQUEST['textFilter']) ? $_REQUEST['textFilter'] : '';
global $RBAC;
if ($limit == $start) $limit = $limit +$limit ;
$tasks = new TaskUser();
$aTask = $tasks->getCountAllTaksByGroups();
@@ -119,7 +119,9 @@ switch ($_POST['action'])
$uxList = adminProxy::getUxTypesList();
$groups = new Groupwf();
$result = $groups->getAllGroup($start,$limit,$filter);
$data = $groups->getAllGroup($start,$limit,$filter);
$result = $data['rows'];
$totalRows = 0;
foreach ($result as $results) {
$totalRows ++;
@@ -128,8 +130,13 @@ switch ($_POST['action'])
$results['GRP_USERS'] = isset($aMembers[$results['GRP_UID']]) ? $aMembers[$results['GRP_UID']] : 0;
$arrData[] = $results;
}
$result = new StdClass();
$result->success = true;
$result->groups = $arrData;
$result->total_groups = $data['totalCount'];
echo '{success: true, groups: '.G::json_encode($arrData).', total_groups: '.$totalRows.'}';
echo G::json_encode($result);
break;
case 'exitsGroupName':
require_once 'classes/model/Groupwf.php';