added pagination in task steps,users and groups+ (adhoc)

This commit is contained in:
safan
2011-02-11 15:01:41 +00:00
parent 6bbf0fc442
commit b2cc60ed94
4 changed files with 146 additions and 50 deletions

View File

@@ -4467,13 +4467,14 @@ class processMap {
}
/*
* Users assigned to Tasks
* @param string $sProcessUID
* @param string $sTaskUID
* @return boolean
*/
function usersExtList($sProcessUID = '', $sTaskUID = '')
function usersExtList($start, $limit,$sProcessUID = '', $sTaskUID = '')
{
try {
$oProcess = new Process ( );
@@ -4503,7 +4504,7 @@ class processMap {
$oTask = new Task ( );
$aTask = $oTask->load ( $sTaskUID );
$this->getExtTaskUsersCriteria ( $sTaskUID, $_SESSION ['iType'] );
$this->getExtTaskUsersCriteria ($start, $limit, $sTaskUID, $_SESSION ['iType'] );
return $_SESSION ['_DBArray']['taskUsers'];
} catch ( Exception $oError ) {
@@ -4511,7 +4512,23 @@ class processMap {
}
}
function getExtTaskUsersCriteria($sTaskUID = '', $iType = 1)
//new functions
function getAllTaskUserCount(){
$c = $this->tmpCriteria;
$c->clearSelectColumns();
$c->addSelectColumn('COUNT(*)');
$oDataset = TaskUserPeer::doSelectRS($c);
$oDataset->next();
$aRow = $oDataset->getRow();
if( is_array($aRow) )
return $aRow[0];
else
return 0;
}
function getExtTaskUsersCriteria($start, $limit,$sTaskUID = '', $iType = 1)
{
try {
$aUsers = array ();
@@ -4532,6 +4549,14 @@ class processMap {
$oCriteria->add ( TaskUserPeer::TAS_UID, $sTaskUID );
$oCriteria->add ( TaskUserPeer::TU_TYPE, $iType );
$oCriteria->add ( TaskUserPeer::TU_RELATION, 2 );
$this->tmpCriteria = clone $oCriteria;
if($start != '')
$oCriteria->setOffset($start);
if($limit != '')
$oCriteria->setLimit($limit);
$oDataset = TaskUserPeer::doSelectRS ( $oCriteria );
$oDataset->setFetchmode ( ResultSet::FETCHMODE_ASSOC );
$oDataset->next ();
@@ -4790,12 +4815,27 @@ class processMap {
}
}
//new functions
function getAllStepCount(){
$c = $this->tmpCriteria;
$c->clearSelectColumns();
$c->addSelectColumn('COUNT(*)');
$oDataset = StepPeer::doSelectRS($c);
$oDataset->next();
$aRow = $oDataset->getRow();
if( is_array($aRow) )
return $aRow[0];
else
return 0;
}
/*
* Return the steps list criteria object
* @param string $sTaskUID
* @return array
*/
function getExtStepsCriteria($sTaskUID = '')
function getExtStepsCriteria($start, $limit, $sTaskUID = '')
{
try {
//call plugin
@@ -4807,6 +4847,13 @@ class processMap {
$oCriteria = new Criteria ( 'workflow' );
$oCriteria->add ( StepPeer::TAS_UID, $sTaskUID );
$oCriteria->addAscendingOrderByColumn ( StepPeer::STEP_POSITION );
$this->tmpCriteria = clone $oCriteria;
if($start != '')
$oCriteria->setOffset($start);
if($limit != '')
$oCriteria->setLimit($limit);
$oDataset = StepPeer::doSelectRS ( $oCriteria );
$oDataset->setFetchmode ( ResultSet::FETCHMODE_ASSOC );
$oDataset->next ();
@@ -4870,12 +4917,27 @@ class processMap {
}
}
//new functions
function getAllStepTriggerCount(){
$c = $this->tmpCriteria;
$c->clearSelectColumns();
$c->addSelectColumn('COUNT(*)');
$oDataset = StepTriggerPeer::doSelectRS($c);
$oDataset->next();
$aRow = $oDataset->getRow();
if( is_array($aRow) )
return $aRow[0];
else
return 0;
}
/*
* Return the steps trigger criteria array
* @param string $sTaskUID
* @return array
*/
function getExtStepTriggersCriteria($sStepUID = '', $sTaskUID = '', $sType = '')
function getExtStepTriggersCriteria($start, $limit,$sStepUID = '', $sTaskUID = '', $sType = '')
{
//$_SESSION['TASK'] = $sTaskUID;
$aBB = array ();
@@ -4898,6 +4960,13 @@ class processMap {
$oCriteria->add ( StepTriggerPeer::TAS_UID, $sTaskUID );
$oCriteria->add ( StepTriggerPeer::ST_TYPE, $sType );
$oCriteria->addAscendingOrderByColumn ( StepTriggerPeer::ST_POSITION );
$this->tmpCriteria = clone $oCriteria;
if($start != '')
$oCriteria->setOffset($start);
if($limit != '')
$oCriteria->setLimit($limit);
$oDataset = InputDocumentPeer::doSelectRS ( $oCriteria );
$oDataset->setFetchmode ( ResultSet::FETCHMODE_ASSOC );
$oDataset->next ();
@@ -5005,7 +5074,6 @@ class processMap {
$aConditions [] = array ('C2.CON_LANG', $sDelimiter . SYS_LANG . $sDelimiter );
$oCriteria->addJoinMC ( $aConditions, Criteria::LEFT_JOIN );
$oCriteria->add ( DynaformPeer::PRO_UID, $sProcessUID );
$this->tmpCriteria = clone $oCriteria;
if($start != '')
@@ -6021,7 +6089,8 @@ class processMap {
}
}
function getExtTaskUsersAdHocCriteria($sTaskUID = '', $iType = 1) {
function getExtTaskUsersAdHocCriteria($start, $limit,$sTaskUID = '', $iType = 1) {
try {
$aUsers = array();
$aUsers [] = array('LABEL' => 'char', 'TAS_UID' => 'char', 'USR_UID' => 'char', 'TU_TYPE' => 'integer', 'TU_RELATION' => 'integer');
@@ -6041,6 +6110,12 @@ function getExtTaskUsersAdHocCriteria($sTaskUID = '', $iType = 1) {
$oCriteria->add(TaskUserPeer::TAS_UID, $sTaskUID);
$oCriteria->add(TaskUserPeer::TU_TYPE, $iType);
$oCriteria->add(TaskUserPeer::TU_RELATION, 2);
$this->tmpCriteria = clone $oCriteria;
if($start != '')
$oCriteria->setOffset($start);
if($limit != '')
$oCriteria->setLimit($limit);
$oDataset = TaskUserPeer::doSelectRS($oCriteria);
$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$oDataset->next();
@@ -6168,7 +6243,7 @@ function getExtTaskUsersAdHocCriteria($sTaskUID = '', $iType = 1) {
}
function getExtusersadhoc($sProcessUID = '', $sTaskUID = '') {
function getExtusersadhoc($start, $limit,$sProcessUID = '', $sTaskUID = '') {
try {
$oProcess = new Process ( );
$aFields = $oProcess->load($sProcessUID);
@@ -6197,7 +6272,7 @@ function getExtTaskUsersAdHocCriteria($sTaskUID = '', $iType = 1) {
$oTask = new Task ( );
$aTask = $oTask->load($sTaskUID);
//$assignedUsers = getExtTaskUsersCriteria($sTaskUID, $_SESSION ['iType']);
$this->getExtTaskUsersAdHocCriteria ( $sTaskUID, $_SESSION ['iType'] );
$this->getExtTaskUsersAdHocCriteria ($start, $limit, $sTaskUID, $_SESSION ['iType'] );
return $_SESSION ['_DBArray']['taskUsers'];
} catch ( Exception $oError ) {

View File

@@ -160,12 +160,14 @@ switch($_GET['action'])
break;
case 'getAssignedSteps':
$rows = $oProcessMap->getExtStepsCriteria($_GET['tid']);
$rows = $oProcessMap->getExtStepsCriteria($start, $limit,$_GET['tid']);
$result['totalCount'] = $oProcessMap->getAllStepCount();
array_shift($rows);
break;
case 'getAssignedUsersList':
$rows = $oProcessMap->usersExtList($_GET['pid'], $_GET['tid']);
$rows = $oProcessMap->usersExtList($start, $limit, $_GET['pid'], $_GET['tid']);
$result['totalCount'] = $oProcessMap->getAllTaskUserCount();
array_shift($rows);
break;
@@ -182,7 +184,8 @@ switch($_GET['action'])
break;
case 'getAssignedStepTriggers':
$rows = $oProcessMap->getExtStepTriggersCriteria($sStep, $_GET['tid'], $sType);
$rows = $oProcessMap->getExtStepTriggersCriteria($start, $limit,$sStep, $_GET['tid'], $sType);
$result['totalCount'] = $oProcessMap->getAllStepTriggerCount();
break;
case 'availableUsers':
@@ -191,7 +194,8 @@ switch($_GET['action'])
break;
case 'assignedUsers':
$rows = $oProcessMap->getExtusersadhoc($_GET['pid'], $_GET['tid']);
$rows = $oProcessMap->getExtusersadhoc($start, $limit,$_GET['pid'], $_GET['tid']);
$result['totalCount'] = $oProcessMap->getAllTaskUserCount();
array_shift($rows);
break;

View File

@@ -122,10 +122,11 @@ ProcessOptions.prototype.addDynaform= function(_5625)
}),
proxy : new Ext.data.HttpProxy({
url: 'proxyExtjs?pid='+pro_uid+'&action=getDynaformList'
})
}),
sortInfo:{field: 'DYN_TITLE', direction: "ASC"}
});
taskDynaform.load({params:{start:0, limit:10}});
//taskDynaform.load();
//Creating store for getting list of additional PM tables
var additionalTablesFields = Ext.data.Record.create([
{name: 'ADD_TAB_UID', type: 'string'},
@@ -698,9 +699,9 @@ ProcessOptions.prototype.dbConnection = function()
frame: false,
autoHeight:false,
clicksToEdit: 1,
width:450,
width:480,
minHeight:400,
height :400,
height :380,
layout: 'fit',
cm: dbGridColumn,
stripeRows: true,
@@ -709,7 +710,7 @@ ProcessOptions.prototype.dbConnection = function()
pageSize: 10,
store: dbStore,
displayInfo: true,
displayMsg: 'Displaying Database Connection {0} - {1} of {2}',
displayMsg: 'Displaying DB Connection {0} - {1} of {2}',
emptyMsg: "No DB Connection to display",
items:[]
}),
@@ -1134,7 +1135,7 @@ var testConnWindow = new Ext.Window({
maximizable: true,
width: 480,
//autoHeight: true,
height: 400,
height: 420,
//layout: 'fit',
plain: true,
buttonAlign: 'center',
@@ -2395,7 +2396,7 @@ ProcessOptions.prototype.addReportTable= function(_5625)
frame : false,
autoHeight :false,
clicksToEdit: 1,
width :400,
width :420,
height :400,
layout : 'fit',
cm : reportColumns,
@@ -2416,7 +2417,7 @@ ProcessOptions.prototype.addReportTable= function(_5625)
title : 'Report Tables',
collapsible : false,
maximizable : false,
width : 400,
width : 420,
defaults :{autoScroll:true},
height : 450,
minWidth : 200,

View File

@@ -131,7 +131,7 @@ TaskContext.prototype.editTaskSteps = function(_3252){
})
});
//taskUsers.setDefaultSort('LABEL', 'asc');
taskSteps.load();
taskSteps.load({params:{start : 0 , limit : 10 }});
// create the Data Store of all Steps that are not been assigned to a task i.e available steps
var availableSteps = new Ext.data.JsonStore({
@@ -218,7 +218,7 @@ TaskContext.prototype.editTaskSteps = function(_3252){
//ddGroup : 'firstGridDDGroup',
clicksToEdit: 1,
minHeight :400,
height :400,
height :340,
layout : 'form',
plugins : [editor],
columns : [{
@@ -309,7 +309,15 @@ TaskContext.prototype.editTaskSteps = function(_3252){
}),
stripeRows: true,
viewConfig: {forceFit: true},
tbar: tb
tbar: tb,
bbar: new Ext.PagingToolbar({
pageSize: 10,
store: taskSteps,
displayInfo: true,
displayMsg: 'Displaying Steps {0} - {1} of {2}',
emptyMsg: "No Steps to display",
items:[]
})
});
editor.on({
@@ -382,7 +390,7 @@ TaskContext.prototype.editTaskSteps = function(_3252){
labelWidth: 100,
monitorValid : true,
width : 850,
height : 500,
height : 400,
items:
{
xtype:'tabpanel',
@@ -433,7 +441,7 @@ TaskContext.prototype.editTaskSteps = function(_3252){
collapsible: false,
maximizable: false,
width: 750,
height: 380,
height: 400,
minWidth: 200,
minHeight: 150,
layout: 'fit',
@@ -569,14 +577,6 @@ TaskContext.prototype.editUsers= function()
fields : userFields
});
storeUsers.load();
// paging bar on the bottom
var paging = new Ext.PagingToolbar({
pageSize: 10,
store: taskUsers,
displayInfo: true,
displayMsg: 'Displaying users {0} - {1} of {2}',
emptyMsg: "No users to display"
});
var grid = new Ext.grid.GridPanel({
store: taskUsers,
@@ -588,7 +588,7 @@ TaskContext.prototype.editUsers= function()
autoHeight:false,
clicksToEdit: 1,
minHeight:400,
height :300,
height :320,
layout: 'fit',
plugins: [editor],
cm: new Ext.grid.ColumnModel({
@@ -646,11 +646,18 @@ TaskContext.prototype.editUsers= function()
stripeRows: true,
viewConfig: {forceFit: true},
bbar:paging,
bbar: new Ext.PagingToolbar({
pageSize: 10,
store: taskUsers,
displayInfo: true,
displayMsg: 'Displaying Users {0} - {1} of {2}',
emptyMsg: "No Users to display",
items:[]
}),
tbar: tb
});
taskUsers.load();
taskUsers.load({params:{start : 0 , limit : 10 }});
editor.on({
scope: this,
@@ -1426,8 +1433,8 @@ TaskContext.prototype.stepTriggers = function()
animate : true
});
tree.setRootNode(root);
root.expand(true);
//tree.render('tree');
//root.expand(true);
tree.on('click', function (node){
if(node.isLeaf()){
var sStepUID = node.attributes.id;
@@ -1548,14 +1555,7 @@ TaskContext.prototype.stepTriggers = function()
//var rowSelected = Objectsgrid;
//workflow.gridObject = Objectsgrid;
var rowData = ProcMapObj.ExtVariables();
console.log(rowData);
//var a = Ext.getCmp('btnCondition');
//alert (a);
//console.log(rowData);
}
});
var toolBar = new Ext.Toolbar({
@@ -1573,7 +1573,7 @@ TaskContext.prototype.stepTriggers = function()
fields : triggersFields
});
//taskUsers.setDefaultSort('LABEL', 'asc');
//stepsTriggers.load();
stepsTriggers.load({params:{start : 0 , limit : 10 }});
var availableTriggers = new Ext.data.JsonStore({
root : 'data',
@@ -1676,6 +1676,14 @@ TaskContext.prototype.stepTriggers = function()
}),
stripeRows: true,
viewConfig: {forceFit: true},
bbar: new Ext.PagingToolbar({
pageSize: 10,
store: stepsTriggers,
displayInfo: true,
displayMsg: 'Displaying Step Tiggers {0} - {1} of {2}',
emptyMsg: "No Step Tiggers to display",
items:[]
}),
tbar: toolBar
});
@@ -1791,7 +1799,7 @@ TaskContext.prototype.editUsersAdHoc= function()
})
});
//taskUsers.setDefaultSort('LABEL', 'asc');
taskUsers.load();
taskUsers.load({params:{start : 0 , limit : 10 }});
// create the Data Store of users that are not assigned to a task
var storeUsers = new Ext.data.JsonStore({
@@ -1898,7 +1906,7 @@ TaskContext.prototype.editUsersAdHoc= function()
autoHeight:false,
clicksToEdit: 1,
minHeight:400,
height :400,
height :330,
layout: 'fit',
plugins: [editor],
columns: [
@@ -1950,6 +1958,14 @@ TaskContext.prototype.editUsersAdHoc= function()
}),
stripeRows: true,
viewConfig: {forceFit: true},
bbar: new Ext.PagingToolbar({
pageSize: 10,
store: taskUsers,
displayInfo: true,
displayMsg: 'Displaying Users {0} - {1} of {2}',
emptyMsg: "No Users to display",
items:[]
}),
tbar: tb
});
@@ -2022,7 +2038,7 @@ TaskContext.prototype.editUsersAdHoc= function()
collapsible: false,
maximizable: false,
width: 400,
height: 350,
height: 370,
minWidth: 200,
minHeight: 150,
layout: 'fit',