BUG 7004 Adjustment in the paging the users selection by group.
This commit is contained in:
@@ -190,7 +190,37 @@ switch ($_POST['action'])
|
|||||||
case 'assignedMembers':
|
case 'assignedMembers':
|
||||||
require_once 'classes/model/Users.php';
|
require_once 'classes/model/Users.php';
|
||||||
require_once 'classes/model/GroupUser.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', '');
|
||||||
|
$limit_size = isset($config['pageSize']) ? $config['pageSize'] : 20;
|
||||||
|
$start = isset($_REQUEST['start']) ? $_REQUEST['start'] : 0;
|
||||||
|
$limit = isset($_REQUEST['limit']) ? $_REQUEST['limit'] : $limit_size;
|
||||||
|
$filter = isset($_REQUEST['textFilter']) ? $_REQUEST['textFilter'] : '';
|
||||||
|
|
||||||
$sGroupUID = $_REQUEST['gUID'];
|
$sGroupUID = $_REQUEST['gUID'];
|
||||||
|
|
||||||
|
$aUsers = Array();
|
||||||
|
$oCriteria = new Criteria('workflow');
|
||||||
|
$oCriteria->addSelectColumn('COUNT(*) AS CNT');
|
||||||
|
$oCriteria->addJoin(GroupUserPeer::USR_UID, UsersPeer::USR_UID, Criteria::LEFT_JOIN);
|
||||||
|
$oCriteria->add(GroupUserPeer::GRP_UID, $sGroupUID);
|
||||||
|
$oCriteria->add(UsersPeer::USR_STATUS, 'CLOSED', Criteria::NOT_EQUAL);
|
||||||
|
$filter = (isset($_POST['textFilter']))? $_POST['textFilter'] : '';
|
||||||
|
if ($filter != ''){
|
||||||
|
$oCriteria->add(
|
||||||
|
$oCriteria->getNewCriterion(UsersPeer::USR_USERNAME, '%'.$filter.'%', Criteria::LIKE)->addOr(
|
||||||
|
$oCriteria->getNewCriterion(UsersPeer::USR_FIRSTNAME, '%'.$filter.'%', Criteria::LIKE)->addOr(
|
||||||
|
$oCriteria->getNewCriterion(UsersPeer::USR_LASTNAME, '%'.$filter.'%', Criteria::LIKE))));
|
||||||
|
}
|
||||||
|
$oDataset = UsersPeer::DoSelectRs ($oCriteria);
|
||||||
|
$oDataset->setFetchmode (ResultSet::FETCHMODE_ASSOC);
|
||||||
|
$oDataset->next();
|
||||||
|
$row = $oDataset->getRow();
|
||||||
|
$totalRows = $row['CNT'];
|
||||||
|
|
||||||
$oCriteria = new Criteria('workflow');
|
$oCriteria = new Criteria('workflow');
|
||||||
$oCriteria->addSelectColumn(GroupUserPeer::GRP_UID);
|
$oCriteria->addSelectColumn(GroupUserPeer::GRP_UID);
|
||||||
$oCriteria->addSelectColumn(UsersPeer::USR_UID);
|
$oCriteria->addSelectColumn(UsersPeer::USR_UID);
|
||||||
@@ -208,18 +238,31 @@ switch ($_POST['action'])
|
|||||||
$oCriteria->getNewCriterion(UsersPeer::USR_USERNAME, '%'.$filter.'%', Criteria::LIKE)->addOr(
|
$oCriteria->getNewCriterion(UsersPeer::USR_USERNAME, '%'.$filter.'%', Criteria::LIKE)->addOr(
|
||||||
$oCriteria->getNewCriterion(UsersPeer::USR_FIRSTNAME, '%'.$filter.'%', Criteria::LIKE)->addOr(
|
$oCriteria->getNewCriterion(UsersPeer::USR_FIRSTNAME, '%'.$filter.'%', Criteria::LIKE)->addOr(
|
||||||
$oCriteria->getNewCriterion(UsersPeer::USR_LASTNAME, '%'.$filter.'%', Criteria::LIKE))));
|
$oCriteria->getNewCriterion(UsersPeer::USR_LASTNAME, '%'.$filter.'%', Criteria::LIKE))));
|
||||||
}
|
}
|
||||||
|
$oCriteria->setOffset($start);
|
||||||
|
$oCriteria->setLimit($limit);
|
||||||
|
|
||||||
$oDataset = UsersPeer::doSelectRS($oCriteria);
|
$oDataset = UsersPeer::doSelectRS($oCriteria);
|
||||||
$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
|
$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
|
||||||
$arrData = Array();
|
$arrData = Array();
|
||||||
while ($oDataset->next()){
|
while ($oDataset->next()){
|
||||||
$arrData[] = $oDataset->getRow();
|
$arrData[] = $oDataset->getRow();
|
||||||
}
|
}
|
||||||
echo '{success: true, members: '.G::json_encode($arrData).'}';
|
echo '{success: true, members: '.G::json_encode($arrData).', total_users: '.$totalRows.'}';
|
||||||
break;
|
break;
|
||||||
case 'availableMembers':
|
case 'availableMembers':
|
||||||
require_once 'classes/model/Users.php';
|
require_once 'classes/model/Users.php';
|
||||||
require_once 'classes/model/GroupUser.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', '');
|
||||||
|
$limit_size = isset($config['pageSize']) ? $config['pageSize'] : 20;
|
||||||
|
$start = isset($_REQUEST['start']) ? $_REQUEST['start'] : 0;
|
||||||
|
$limit = isset($_REQUEST['limit']) ? $_REQUEST['limit'] : $limit_size;
|
||||||
|
$filter = isset($_REQUEST['textFilter']) ? $_REQUEST['textFilter'] : '';
|
||||||
|
|
||||||
$sGroupUID = $_REQUEST['gUID'];
|
$sGroupUID = $_REQUEST['gUID'];
|
||||||
$oCriteria = new Criteria('workflow');
|
$oCriteria = new Criteria('workflow');
|
||||||
$oCriteria->addSelectColumn(GroupUserPeer::GRP_UID);
|
$oCriteria->addSelectColumn(GroupUserPeer::GRP_UID);
|
||||||
@@ -235,6 +278,25 @@ switch ($_POST['action'])
|
|||||||
$uUIDs[] = $aRow['USR_UID'];
|
$uUIDs[] = $aRow['USR_UID'];
|
||||||
$oDataset->next();
|
$oDataset->next();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$aUsers = Array();
|
||||||
|
$oCriteria = new Criteria('workflow');
|
||||||
|
$oCriteria->addSelectColumn('COUNT(*) AS CNT');
|
||||||
|
$oCriteria->add(UsersPeer::USR_STATUS, 'CLOSED', Criteria::NOT_EQUAL);
|
||||||
|
$oCriteria->add(UsersPeer::USR_UID, $uUIDs, Criteria::NOT_IN);
|
||||||
|
$filter = (isset($_POST['textFilter']))? $_POST['textFilter'] : '';
|
||||||
|
if ($filter != ''){
|
||||||
|
$oCriteria->add(
|
||||||
|
$oCriteria->getNewCriterion(UsersPeer::USR_USERNAME, '%'.$filter.'%', Criteria::LIKE)->addOr(
|
||||||
|
$oCriteria->getNewCriterion(UsersPeer::USR_FIRSTNAME, '%'.$filter.'%', Criteria::LIKE)->addOr(
|
||||||
|
$oCriteria->getNewCriterion(UsersPeer::USR_LASTNAME, '%'.$filter.'%', Criteria::LIKE))));
|
||||||
|
}
|
||||||
|
$oDataset = UsersPeer::DoSelectRs ($oCriteria);
|
||||||
|
$oDataset->setFetchmode (ResultSet::FETCHMODE_ASSOC);
|
||||||
|
$oDataset->next();
|
||||||
|
$row = $oDataset->getRow();
|
||||||
|
$totalRows = $row['CNT'];
|
||||||
|
|
||||||
$oCriteria = new Criteria('workflow');
|
$oCriteria = new Criteria('workflow');
|
||||||
$oCriteria->addSelectColumn(UsersPeer::USR_UID);
|
$oCriteria->addSelectColumn(UsersPeer::USR_UID);
|
||||||
$oCriteria->addSelectColumn(UsersPeer::USR_USERNAME);
|
$oCriteria->addSelectColumn(UsersPeer::USR_USERNAME);
|
||||||
@@ -250,14 +312,16 @@ switch ($_POST['action'])
|
|||||||
$oCriteria->getNewCriterion(UsersPeer::USR_USERNAME, '%'.$filter.'%', Criteria::LIKE)->addOr(
|
$oCriteria->getNewCriterion(UsersPeer::USR_USERNAME, '%'.$filter.'%', Criteria::LIKE)->addOr(
|
||||||
$oCriteria->getNewCriterion(UsersPeer::USR_FIRSTNAME, '%'.$filter.'%', Criteria::LIKE)->addOr(
|
$oCriteria->getNewCriterion(UsersPeer::USR_FIRSTNAME, '%'.$filter.'%', Criteria::LIKE)->addOr(
|
||||||
$oCriteria->getNewCriterion(UsersPeer::USR_LASTNAME, '%'.$filter.'%', Criteria::LIKE))));
|
$oCriteria->getNewCriterion(UsersPeer::USR_LASTNAME, '%'.$filter.'%', Criteria::LIKE))));
|
||||||
}
|
}
|
||||||
|
$oCriteria->setOffset($start);
|
||||||
|
$oCriteria->setLimit($limit);
|
||||||
$oDataset = UsersPeer::doSelectRS($oCriteria);
|
$oDataset = UsersPeer::doSelectRS($oCriteria);
|
||||||
$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
|
$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
|
||||||
$arrData = Array();
|
$arrData = Array();
|
||||||
while ($oDataset->next()){
|
while ($oDataset->next()){
|
||||||
$arrData[] = $oDataset->getRow();
|
$arrData[] = $oDataset->getRow();
|
||||||
}
|
}
|
||||||
echo '{success: true, members: '.G::json_encode($arrData).'}';
|
echo '{success: true, members: '.G::json_encode($arrData).', total_users: '.$totalRows.'}';
|
||||||
break;
|
break;
|
||||||
case 'assignUsersToGroupsMultiple':
|
case 'assignUsersToGroupsMultiple':
|
||||||
$GRP_UID = $_POST['GRP_UID'];
|
$GRP_UID = $_POST['GRP_UID'];
|
||||||
|
|||||||
@@ -38,6 +38,8 @@ var assignAllButton;
|
|||||||
var removeButton;
|
var removeButton;
|
||||||
var removeAllButton;
|
var removeAllButton;
|
||||||
var backButton;
|
var backButton;
|
||||||
|
var pageSize = 20;
|
||||||
|
var bbarpaging;
|
||||||
|
|
||||||
|
|
||||||
Ext.onReady(function(){
|
Ext.onReady(function(){
|
||||||
@@ -66,6 +68,7 @@ Ext.onReady(function(){
|
|||||||
}),
|
}),
|
||||||
reader : new Ext.data.JsonReader( {
|
reader : new Ext.data.JsonReader( {
|
||||||
root: 'members',
|
root: 'members',
|
||||||
|
totalProperty: 'total_users',
|
||||||
fields : [
|
fields : [
|
||||||
{name : 'USR_UID'},
|
{name : 'USR_UID'},
|
||||||
{name : 'USR_USERNAME'},
|
{name : 'USR_USERNAME'},
|
||||||
@@ -125,6 +128,7 @@ Ext.onReady(function(){
|
|||||||
}),
|
}),
|
||||||
reader : new Ext.data.JsonReader( {
|
reader : new Ext.data.JsonReader( {
|
||||||
root: 'members',
|
root: 'members',
|
||||||
|
totalProperty: 'total_users',
|
||||||
fields : [
|
fields : [
|
||||||
{name : 'USR_UID'},
|
{name : 'USR_UID'},
|
||||||
{name : 'USR_USERNAME'},
|
{name : 'USR_USERNAME'},
|
||||||
@@ -168,72 +172,137 @@ Ext.onReady(function(){
|
|||||||
selectSingle: false,
|
selectSingle: false,
|
||||||
listeners:{
|
listeners:{
|
||||||
selectionchange: function(sm){
|
selectionchange: function(sm){
|
||||||
switch(sm.getCount()){
|
switch(sm.getCount()){
|
||||||
case 0: Ext.getCmp('removeButton').disable(); break;
|
case 0: Ext.getCmp('removeButton').disable(); break;
|
||||||
default: Ext.getCmp('removeButton').enable(); break;
|
default: Ext.getCmp('removeButton').enable(); break;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
storePageSize = new Ext.data.SimpleStore({
|
||||||
|
fields : ['size'],
|
||||||
|
data : [['20'],['30'],['40'],['50'],['100']],
|
||||||
|
autoLoad : true
|
||||||
|
});
|
||||||
|
|
||||||
|
comboPageSizeAvailable = new Ext.form.ComboBox({
|
||||||
|
typeAhead : false,
|
||||||
|
mode : 'local',
|
||||||
|
triggerAction : 'all',
|
||||||
|
store : storePageSize,
|
||||||
|
valueField : 'size',
|
||||||
|
displayField : 'size',
|
||||||
|
width : 50,
|
||||||
|
editable : false,
|
||||||
|
listeners : {
|
||||||
|
select : function(c, d, i) {
|
||||||
|
bbarpagingAvailable.pageSize = parseInt(d.data['size']);
|
||||||
|
bbarpagingAvailable.moveFirst();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
comboPageSizeAvailable.setValue(pageSize);
|
||||||
|
|
||||||
|
bbarpagingAvailable = new Ext.PagingToolbar({
|
||||||
|
pageSize : pageSize,
|
||||||
|
store : storeA,
|
||||||
|
displayInfo : true,
|
||||||
|
displayMsg : '{0} - {1} of {2}',
|
||||||
|
emptyMsg : 'No records',
|
||||||
|
items: ['-', _('ID_PAGE_SIZE')+':', comboPageSizeAvailable ]
|
||||||
|
});
|
||||||
|
|
||||||
availableGrid = new Ext.grid.GridPanel({
|
availableGrid = new Ext.grid.GridPanel({
|
||||||
layout : 'fit',
|
layout : 'fit',
|
||||||
title : _('ID_AVAILABLE_USERS'),
|
title : _('ID_AVAILABLE_USERS'),
|
||||||
region : 'center',
|
region : 'center',
|
||||||
ddGroup : 'assignedGridDDGroup',
|
ddGroup : 'assignedGridDDGroup',
|
||||||
store : storeA,
|
store : storeA,
|
||||||
cm : cmodelP,
|
cm : cmodelP,
|
||||||
sm : smodelA,
|
sm : smodelA,
|
||||||
enableDragDrop : true,
|
enableDragDrop : true,
|
||||||
stripeRows : true,
|
stripeRows : true,
|
||||||
autoExpandColumn: 'USR_USERNAME',
|
autoExpandColumn : 'USR_USERNAME',
|
||||||
iconCls : 'icon-grid',
|
iconCls : 'icon-grid',
|
||||||
id : 'availableGrid',
|
id : 'availableGrid',
|
||||||
height : 100,
|
height : 100,
|
||||||
autoWidth : true,
|
autoWidth : true,
|
||||||
stateful : true,
|
stateful : true,
|
||||||
stateId : 'grid',
|
stateId : 'grid',
|
||||||
enableColumnResize : true,
|
enableColumnResize : true,
|
||||||
enableHdMenu : true,
|
enableHdMenu : true,
|
||||||
frame : false,
|
frame : false,
|
||||||
columnLines : false,
|
columnLines : false,
|
||||||
viewConfig: {
|
viewConfig : {
|
||||||
forceFit:true,
|
forceFit : true,
|
||||||
cls:"x-grid-empty",
|
cls : "x-grid-empty",
|
||||||
emptyText: (TRANSLATIONS.ID_NO_RECORDS_FOUND)
|
emptyText : (TRANSLATIONS.ID_NO_RECORDS_FOUND)
|
||||||
},
|
},
|
||||||
tbar: [cancelEditMembersButton,{xtype: 'tbfill'},'-',searchTextA,clearTextButtonA],
|
tbar : [cancelEditMembersButton,{xtype: 'tbfill'},'-',searchTextA,clearTextButtonA],
|
||||||
//bbar: [{xtype: 'tbfill'}, assignAllButton],
|
//bbar: [{xtype: 'tbfill'}, assignAllButton],
|
||||||
listeners: {rowdblclick: AssignUsersAction},
|
listeners : {rowdblclick: AssignUsersAction},
|
||||||
hidden: true
|
hidden : true,
|
||||||
|
bbar : bbarpagingAvailable
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
comboPageSizeAssigned = new Ext.form.ComboBox({
|
||||||
|
typeAhead : false,
|
||||||
|
mode : 'local',
|
||||||
|
triggerAction : 'all',
|
||||||
|
store : storePageSize,
|
||||||
|
valueField : 'size',
|
||||||
|
displayField : 'size',
|
||||||
|
width : 50,
|
||||||
|
editable : false,
|
||||||
|
listeners : {
|
||||||
|
select : function(c, d, i) {
|
||||||
|
bbarpagingAssigned.pageSize = parseInt(d.data['size']);
|
||||||
|
bbarpagingAssigned.moveFirst();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
comboPageSizeAssigned.setValue(pageSize);
|
||||||
|
|
||||||
|
bbarpagingAssigned = new Ext.PagingToolbar({
|
||||||
|
pageSize : pageSize,
|
||||||
|
store : storeP,
|
||||||
|
displayInfo : true,
|
||||||
|
displayMsg : '{0} - {1} of {2}',
|
||||||
|
emptyMsg : 'No records',
|
||||||
|
items: ['-', _('ID_PAGE_SIZE')+':', comboPageSizeAssigned ]
|
||||||
});
|
});
|
||||||
|
|
||||||
assignedGrid = new Ext.grid.GridPanel({
|
assignedGrid = new Ext.grid.GridPanel({
|
||||||
layout : 'fit',
|
layout : 'fit',
|
||||||
title : _('ID_ASSIGNED_USERS'),
|
title : _('ID_ASSIGNED_USERS'),
|
||||||
ddGroup : 'availableGridDDGroup',
|
ddGroup : 'availableGridDDGroup',
|
||||||
store : storeP,
|
store : storeP,
|
||||||
cm : cmodelP,
|
cm : cmodelP,
|
||||||
sm : smodelP,
|
sm : smodelP,
|
||||||
enableDragDrop : true,
|
enableDragDrop : true,
|
||||||
stripeRows : true,
|
stripeRows : true,
|
||||||
autoExpandColumn: 'USR_USERNAME',
|
autoExpandColumn : 'USR_USERNAME',
|
||||||
iconCls : 'icon-grid',
|
iconCls : 'icon-grid',
|
||||||
id : 'assignedGrid',
|
id : 'assignedGrid',
|
||||||
height : 100,
|
height : 100,
|
||||||
autoWidth : true,
|
autoWidth : true,
|
||||||
stateful : true,
|
stateful : true,
|
||||||
stateId : 'grid',
|
stateId : 'grid',
|
||||||
enableColumnResize : true,
|
enableColumnResize : true,
|
||||||
enableHdMenu : true,
|
enableHdMenu : true,
|
||||||
frame : false,
|
frame : false,
|
||||||
columnLines : false,
|
columnLines : false,
|
||||||
viewConfig : {forceFit:true},
|
viewConfig : {forceFit:true},
|
||||||
tbar: [editMembersButton,{xtype: 'tbfill'},'-',searchTextP,clearTextButtonP],
|
tbar : [editMembersButton,{xtype: 'tbfill'},'-',searchTextP,clearTextButtonP],
|
||||||
//bbar: [{xtype: 'tbfill'},removeAllButton],
|
//bbar: [{xtype: 'tbfill'},removeAllButton],
|
||||||
listeners: {rowdblclick: function(){
|
listeners : {
|
||||||
(availableGrid.hidden)? DoNothing() : RemoveUsersAction();
|
rowdblclick: function() {
|
||||||
}}
|
(availableGrid.hidden) ? DoNothing() : RemoveUsersAction();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
bbar : bbarpagingAssigned
|
||||||
});
|
});
|
||||||
|
|
||||||
buttonsPanel = new Ext.Panel({
|
buttonsPanel = new Ext.Panel({
|
||||||
|
|||||||
Reference in New Issue
Block a user