Completed Users and groups (Ad-Hoc part) in ExtJS
This commit is contained in:
@@ -5719,7 +5719,9 @@ class processMap {
|
||||
}
|
||||
return $aReportTable;
|
||||
}
|
||||
function getExtAvailableUsersList($sTaskUID = '', $iType = 1) {
|
||||
|
||||
|
||||
function getExtAvailableUsersList($sTaskUID = '', $iType = 2) {
|
||||
try {
|
||||
$oTasks = new Tasks ( );
|
||||
$aAux = $oTasks->getGroupsOfTask($sTaskUID, $iType);
|
||||
@@ -5782,13 +5784,85 @@ class processMap {
|
||||
$_DBArray ['availableUsers'] = $aUsers;
|
||||
$_SESSION ['_DBArray'] = $_DBArray;
|
||||
return $_SESSION ['_DBArray']['availableUsers'];
|
||||
return $oCriteria;
|
||||
} catch (Exception $oError) {
|
||||
throw ($oError);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function getExtTaskUsersAdHocCriteria($sTaskUID = '', $iType = 1) {
|
||||
try {
|
||||
$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->addAsColumn('GRP_TITLE', 'C.CON_VALUE');
|
||||
$oCriteria->addSelectColumn(TaskUserPeer::TAS_UID);
|
||||
$oCriteria->addSelectColumn(TaskUserPeer::USR_UID);
|
||||
$oCriteria->addSelectColumn(TaskUserPeer::TU_TYPE);
|
||||
$oCriteria->addSelectColumn(TaskUserPeer::TU_RELATION);
|
||||
$oCriteria->addAlias('C', 'CONTENT');
|
||||
$aConditions = array();
|
||||
$aConditions [] = array(TaskUserPeer::USR_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(TaskUserPeer::TAS_UID, $sTaskUID);
|
||||
$oCriteria->add(TaskUserPeer::TU_TYPE, $iType);
|
||||
$oCriteria->add(TaskUserPeer::TU_RELATION, 2);
|
||||
$oDataset = TaskUserPeer::doSelectRS($oCriteria);
|
||||
$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
|
||||
$oDataset->next();
|
||||
$c = 0;
|
||||
while ($aRow = $oDataset->getRow()) {
|
||||
$c++;
|
||||
$oGroup = new Groupwf ( );
|
||||
$aFields = $oGroup->load($aRow ['USR_UID']);
|
||||
if ($aFields ['GRP_STATUS'] == 'ACTIVE') {
|
||||
$oCriteria = new Criteria('workflow');
|
||||
$oCriteria->addSelectColumn('COUNT(*) AS MEMBERS_NUMBER');
|
||||
$oCriteria->add(GroupUserPeer::GRP_UID, $aRow ['USR_UID']);
|
||||
$oDataset2 = GroupUserPeer::doSelectRS($oCriteria);
|
||||
$oDataset2->setFetchmode(ResultSet::FETCHMODE_ASSOC);
|
||||
$oDataset2->next();
|
||||
$aRow2 = $oDataset2->getRow();
|
||||
} else {
|
||||
$aRow2 ['GROUP_INACTIVE'] = '<strong>(' . G::LoadTranslation('ID_GROUP_INACTIVE') . ')</strong>';
|
||||
}
|
||||
$aUsers [] = array('LABEL' => (!isset($aRow2 ['GROUP_INACTIVE']) ? $aRow ['GRP_TITLE'] . ' <a href="#" onclick="usersGroup(\'' . $aRow ['USR_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>' : $aRow ['GRP_TITLE'] . ' ' . $aRow2 ['GROUP_INACTIVE']), 'TAS_UID' => $aRow ['TAS_UID'], 'USR_UID' => $aRow ['USR_UID'], 'TU_TYPE' => $aRow ['TU_TYPE'], 'TU_RELATION' => $aRow ['TU_RELATION']);
|
||||
$oDataset->next();
|
||||
}
|
||||
$oCriteria = new Criteria('workflow');
|
||||
$oCriteria->addSelectColumn(UsersPeer::USR_FIRSTNAME);
|
||||
$oCriteria->addSelectColumn(UsersPeer::USR_LASTNAME);
|
||||
$oCriteria->addSelectColumn(TaskUserPeer::TAS_UID);
|
||||
$oCriteria->addSelectColumn(TaskUserPeer::USR_UID);
|
||||
$oCriteria->addSelectColumn(TaskUserPeer::TU_TYPE);
|
||||
$oCriteria->addSelectColumn(TaskUserPeer::TU_RELATION);
|
||||
$oCriteria->addJoin(TaskUserPeer::USR_UID, UsersPeer::USR_UID, Criteria::LEFT_JOIN);
|
||||
$oCriteria->add(TaskUserPeer::TAS_UID, $sTaskUID);
|
||||
$oCriteria->add(TaskUserPeer::TU_TYPE, $iType);
|
||||
$oCriteria->add(TaskUserPeer::TU_RELATION, 1);
|
||||
$oDataset = TaskUserPeer::doSelectRS($oCriteria);
|
||||
$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
|
||||
$oDataset->next();
|
||||
while ($aRow = $oDataset->getRow()) {
|
||||
$aUsers [] = array('LABEL' => $aRow ['USR_FIRSTNAME'] . ' ' . $aRow ['USR_LASTNAME'], 'TAS_UID' => $aRow ['TAS_UID'], 'USR_UID' => $aRow ['USR_UID'], 'TU_TYPE' => $aRow ['TU_TYPE'], 'TU_RELATION' => $aRow ['TU_RELATION']);
|
||||
$oDataset->next();
|
||||
}
|
||||
global $_DBArray;
|
||||
$_DBArray = (isset($_SESSION ['_DBArray']) ? $_SESSION ['_DBArray'] : '');
|
||||
$_DBArray ['taskUsers'] = $aUsers;
|
||||
$_SESSION ['_DBArray'] = $_DBArray;
|
||||
G::LoadClass('ArrayPeer');
|
||||
$oCriteria = new Criteria('dbarray');
|
||||
$oCriteria->setDBArrayTable('taskUsers');
|
||||
$oCriteria->addDescendingOrderByColumn(TaskUserPeer::TU_RELATION);
|
||||
$oCriteria->addAscendingOrderByColumn('LABEL');
|
||||
return $oCriteria;
|
||||
} catch (Exception $oError) {
|
||||
throw ($oError);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -5820,8 +5894,8 @@ class processMap {
|
||||
$G_PUBLISH = new Publisher ( );
|
||||
$oTask = new Task ( );
|
||||
$aTask = $oTask->load($sTaskUID);
|
||||
|
||||
$this->getExtTaskUsersCriteria ( $sTaskUID, $_SESSION ['iType'] );
|
||||
//$assignedUsers = getExtTaskUsersCriteria($sTaskUID, $_SESSION ['iType']);
|
||||
$this->getExtTaskUsersAdHocCriteria ( $sTaskUID, $_SESSION ['iType'] );
|
||||
return $_SESSION ['_DBArray']['taskUsers'];
|
||||
|
||||
} catch ( Exception $oError ) {
|
||||
|
||||
@@ -171,6 +171,7 @@ switch($_GET['action'])
|
||||
|
||||
case 'availableUsers':
|
||||
$rows = $oProcessMap->getExtAvailableUsersList($_GET['tid']);
|
||||
array_shift($rows);
|
||||
break;
|
||||
|
||||
case 'assignedUsers':
|
||||
|
||||
@@ -42,8 +42,15 @@ try {
|
||||
{
|
||||
$_POST = $_POST['form'];
|
||||
}
|
||||
$_POST['function'] = get_ajax_value('function');
|
||||
switch ($_POST['function'])
|
||||
if(isset($_POST['function']))
|
||||
{$value= $_POST['function'];
|
||||
$value = get_ajax_value('function');}
|
||||
else
|
||||
{$value= $_POST['functions'];
|
||||
$value = get_ajax_value('functions');}
|
||||
|
||||
|
||||
switch ($value)
|
||||
{
|
||||
case 'verifyUsername':
|
||||
//print_r($_POST); die;
|
||||
|
||||
@@ -2337,6 +2337,8 @@ var formWindow = new Ext.Window({
|
||||
success: function(response) {
|
||||
Ext.MessageBox.alert ('Status','Report Table Edited Successfully.');
|
||||
}
|
||||
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
@@ -2346,6 +2348,7 @@ var formWindow = new Ext.Window({
|
||||
|
||||
formWindow.close();
|
||||
reportStore.reload();
|
||||
|
||||
}
|
||||
},{
|
||||
text: 'Cancel',
|
||||
@@ -2355,5 +2358,6 @@ var formWindow = new Ext.Window({
|
||||
}
|
||||
}]
|
||||
});
|
||||
gridWindow.show();
|
||||
}
|
||||
|
||||
|
||||
@@ -1807,6 +1807,29 @@ TaskContext.prototype.editUsersAdHoc= function(_5625)
|
||||
var editor = new Ext.ux.grid.RowEditor({
|
||||
saveText: 'Update'
|
||||
});
|
||||
var taskUsers = new Ext.data.JsonStore({
|
||||
root : 'data',
|
||||
totalProperty: 'totalCount',
|
||||
idProperty : 'gridIndex',
|
||||
remoteSort : true,
|
||||
fields : userFields,
|
||||
proxy: new Ext.data.HttpProxy({
|
||||
url: 'proxyExtjs?pid='+pro_uid+'&tid='+taskId+'&action=assignedUsers'
|
||||
})
|
||||
});
|
||||
//taskUsers.setDefaultSort('LABEL', 'asc');
|
||||
taskUsers.load();
|
||||
|
||||
// create the Data Store of users that are not assigned to a task
|
||||
var storeUsers = new Ext.data.JsonStore({
|
||||
root : 'data',
|
||||
url : 'proxyExtjs?tid='+taskId+'&action=availableUsers',
|
||||
totalProperty : 'totalCount',
|
||||
idProperty : 'gridIndex',
|
||||
remoteSort : false, //true,
|
||||
autoLoad : true,
|
||||
fields : userFields
|
||||
});
|
||||
|
||||
|
||||
var btnAdd = new Ext.Button({
|
||||
@@ -1834,8 +1857,11 @@ TaskContext.prototype.editUsersAdHoc= function(_5625)
|
||||
grid.getView().refresh();
|
||||
//grid.getSelectionModel().selectRow(0);
|
||||
editor.startEditing(0, 0);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
var btnRemove = new Ext.Button({
|
||||
@@ -1889,29 +1915,7 @@ TaskContext.prototype.editUsersAdHoc= function(_5625)
|
||||
});
|
||||
|
||||
// create the Data Store of users that are already assigned to a task
|
||||
var taskUsers = new Ext.data.JsonStore({
|
||||
root : 'data',
|
||||
totalProperty: 'totalCount',
|
||||
idProperty : 'gridIndex',
|
||||
remoteSort : true,
|
||||
fields : userFields,
|
||||
proxy: new Ext.data.HttpProxy({
|
||||
url: 'proxyExtjs?pid='+pro_uid+'&tid='+taskId+'&action=assignedUsers'
|
||||
})
|
||||
});
|
||||
//taskUsers.setDefaultSort('LABEL', 'asc');
|
||||
taskUsers.load();
|
||||
|
||||
// create the Data Store of users that are not assigned to a task
|
||||
var storeUsers = new Ext.data.JsonStore({
|
||||
root : 'data',
|
||||
url : 'proxyExtjs?tid='+taskId+'&action=availableUsers',
|
||||
totalProperty : 'totalCount',
|
||||
idProperty : 'gridIndex',
|
||||
remoteSort : false, //true,
|
||||
autoLoad : true,
|
||||
fields : userFields
|
||||
});
|
||||
|
||||
|
||||
|
||||
var grid = new Ext.grid.GridPanel({
|
||||
@@ -1941,7 +1945,7 @@ TaskContext.prototype.editUsersAdHoc= function(_5625)
|
||||
fieldLabel: 'Users_groups',
|
||||
hiddenName: 'number',
|
||||
store : storeUsers,
|
||||
displayField : 'LABEL' ,
|
||||
displayField : 'LABEL',
|
||||
valueField : 'LABEL',
|
||||
name : 'LABEL',
|
||||
scope : _5625,
|
||||
@@ -1991,13 +1995,22 @@ TaskContext.prototype.editUsersAdHoc= function(_5625)
|
||||
var userId = record.data.USR_UID;
|
||||
var tu_Type = record.data.TU_TYPE;
|
||||
var tu_Relation = record.data.TU_RELATION;
|
||||
var urlparams = '?action=assign&data={"TAS_UID":"'+taskId+'","USR_UID":"'+userId+'","TU_TYPE":"'+tu_Type+'","TU_RELATION":"'+tu_Relation+'"}';
|
||||
///var urlparams = '?action=assign&data={"TAS_UID":"'+taskId+'","USR_UID":"'+userId+'","TU_TYPE":"'+tu_Type+'","TU_RELATION":"'+tu_Relation+'"}';
|
||||
|
||||
Ext.Ajax.request({
|
||||
url: 'processes_Ajax.php' +urlparams ,
|
||||
url: '../users/users_Ajax.php',
|
||||
METHOD:'post',
|
||||
success: function (response) { // When saving data success
|
||||
Ext.MessageBox.alert ('Status','User has been successfully assigned');
|
||||
},
|
||||
params:{
|
||||
functions : 'assign',
|
||||
TAS_UID : taskId,
|
||||
USR_UID : userId,
|
||||
TU_TYPE : tu_Type,
|
||||
TU_RELATION:tu_Relation
|
||||
|
||||
},
|
||||
failure: function () { // when saving data failed
|
||||
Ext.MessageBox.alert ('Status','Failed saving User Assigned to Task');
|
||||
}
|
||||
@@ -2009,15 +2022,24 @@ TaskContext.prototype.editUsersAdHoc= function(_5625)
|
||||
var user_TURel = record.json.TU_RELATION;
|
||||
var userUID = record.json.USR_UID;
|
||||
var user_TUtype = record.json.TU_TYPE;
|
||||
urlparams = '?action=ofToAssign&data={"TAS_UID":"'+taskId+'","TU_RELATION":"'+user_TURel+'","USR_UID":"'+userUID+'","TU_TYPE":"'+user_TUtype+'"}';
|
||||
//urlparams = '?action=ofToAssign&data={"TAS_UID":"'+taskId+'","TU_RELATION":"'+user_TURel+'","USR_UID":"'+userUID+'","TU_TYPE":"'+user_TUtype+'"}';
|
||||
Ext.Ajax.request({
|
||||
url : 'processes_Ajax.php' +urlparams ,
|
||||
url : '../users/users_Ajax.php',
|
||||
method: 'POST',
|
||||
success: function(response) {
|
||||
//Ext.MessageBox.alert ('Status','User has been updated successfully.');
|
||||
}
|
||||
Ext.MessageBox.alert ('Status','User has been updated successfully.');
|
||||
},
|
||||
params:{
|
||||
functions : 'ofToAssign',
|
||||
TAS_UID : taskId,
|
||||
USR_UID : userId,
|
||||
TU_TYPE : tu_Type,
|
||||
TU_RELATION:tu_Relation
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
storeUsers.reload();
|
||||
//storeUsers.reload();
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user