From 917a1ac704c478feaace6fc495dba5cb31d71c58 Mon Sep 17 00:00:00 2001 From: Alvaro Campos Date: Thu, 5 Apr 2012 09:17:12 -0400 Subject: [PATCH] =?UTF-8?q?BUG=208792=20Paginaci=C3=B3n=20de=20tama=C3=B1o?= =?UTF-8?q?=2020=20en=20los=20grupos=20de=20usuarios=20no=20funciona=20SOL?= =?UTF-8?q?VED?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - no funcionaba correctamente la paginacion en el listado de grupos. - se soluciono aƱadiendo a la consulta el limite y el inicio del listado. --- workflow/engine/classes/model/Groupwf.php | 20 +++++++++++++++++-- .../engine/methods/groups/groups_Ajax.php | 13 +++++++++--- 2 files changed, 28 insertions(+), 5 deletions(-) diff --git a/workflow/engine/classes/model/Groupwf.php b/workflow/engine/classes/model/Groupwf.php index d4ce0ac6f..9b0210cf0 100755 --- a/workflow/engine/classes/model/Groupwf.php +++ b/workflow/engine/classes/model/Groupwf.php @@ -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) diff --git a/workflow/engine/methods/groups/groups_Ajax.php b/workflow/engine/methods/groups/groups_Ajax.php index c44722bdd..99aedde1e 100755 --- a/workflow/engine/methods/groups/groups_Ajax.php +++ b/workflow/engine/methods/groups/groups_Ajax.php @@ -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';