Completed Users and groups (Ad-Hoc part) in ExtJS
This commit is contained in:
@@ -5719,7 +5719,9 @@ class processMap {
|
|||||||
}
|
}
|
||||||
return $aReportTable;
|
return $aReportTable;
|
||||||
}
|
}
|
||||||
function getExtAvailableUsersList($sTaskUID = '', $iType = 1) {
|
|
||||||
|
|
||||||
|
function getExtAvailableUsersList($sTaskUID = '', $iType = 2) {
|
||||||
try {
|
try {
|
||||||
$oTasks = new Tasks ( );
|
$oTasks = new Tasks ( );
|
||||||
$aAux = $oTasks->getGroupsOfTask($sTaskUID, $iType);
|
$aAux = $oTasks->getGroupsOfTask($sTaskUID, $iType);
|
||||||
@@ -5782,13 +5784,85 @@ class processMap {
|
|||||||
$_DBArray ['availableUsers'] = $aUsers;
|
$_DBArray ['availableUsers'] = $aUsers;
|
||||||
$_SESSION ['_DBArray'] = $_DBArray;
|
$_SESSION ['_DBArray'] = $_DBArray;
|
||||||
return $_SESSION ['_DBArray']['availableUsers'];
|
return $_SESSION ['_DBArray']['availableUsers'];
|
||||||
return $oCriteria;
|
|
||||||
} catch (Exception $oError) {
|
} catch (Exception $oError) {
|
||||||
throw ($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 ( );
|
$G_PUBLISH = new Publisher ( );
|
||||||
$oTask = new Task ( );
|
$oTask = new Task ( );
|
||||||
$aTask = $oTask->load($sTaskUID);
|
$aTask = $oTask->load($sTaskUID);
|
||||||
|
//$assignedUsers = getExtTaskUsersCriteria($sTaskUID, $_SESSION ['iType']);
|
||||||
$this->getExtTaskUsersCriteria ( $sTaskUID, $_SESSION ['iType'] );
|
$this->getExtTaskUsersAdHocCriteria ( $sTaskUID, $_SESSION ['iType'] );
|
||||||
return $_SESSION ['_DBArray']['taskUsers'];
|
return $_SESSION ['_DBArray']['taskUsers'];
|
||||||
|
|
||||||
} catch ( Exception $oError ) {
|
} catch ( Exception $oError ) {
|
||||||
|
|||||||
@@ -171,6 +171,7 @@ switch($_GET['action'])
|
|||||||
|
|
||||||
case 'availableUsers':
|
case 'availableUsers':
|
||||||
$rows = $oProcessMap->getExtAvailableUsersList($_GET['tid']);
|
$rows = $oProcessMap->getExtAvailableUsersList($_GET['tid']);
|
||||||
|
array_shift($rows);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'assignedUsers':
|
case 'assignedUsers':
|
||||||
|
|||||||
@@ -42,8 +42,15 @@ try {
|
|||||||
{
|
{
|
||||||
$_POST = $_POST['form'];
|
$_POST = $_POST['form'];
|
||||||
}
|
}
|
||||||
$_POST['function'] = get_ajax_value('function');
|
if(isset($_POST['function']))
|
||||||
switch ($_POST['function'])
|
{$value= $_POST['function'];
|
||||||
|
$value = get_ajax_value('function');}
|
||||||
|
else
|
||||||
|
{$value= $_POST['functions'];
|
||||||
|
$value = get_ajax_value('functions');}
|
||||||
|
|
||||||
|
|
||||||
|
switch ($value)
|
||||||
{
|
{
|
||||||
case 'verifyUsername':
|
case 'verifyUsername':
|
||||||
//print_r($_POST); die;
|
//print_r($_POST); die;
|
||||||
|
|||||||
@@ -2337,6 +2337,8 @@ var formWindow = new Ext.Window({
|
|||||||
success: function(response) {
|
success: function(response) {
|
||||||
Ext.MessageBox.alert ('Status','Report Table Edited Successfully.');
|
Ext.MessageBox.alert ('Status','Report Table Edited Successfully.');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2346,6 +2348,7 @@ var formWindow = new Ext.Window({
|
|||||||
|
|
||||||
formWindow.close();
|
formWindow.close();
|
||||||
reportStore.reload();
|
reportStore.reload();
|
||||||
|
|
||||||
}
|
}
|
||||||
},{
|
},{
|
||||||
text: 'Cancel',
|
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({
|
var editor = new Ext.ux.grid.RowEditor({
|
||||||
saveText: 'Update'
|
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({
|
var btnAdd = new Ext.Button({
|
||||||
@@ -1834,8 +1857,11 @@ TaskContext.prototype.editUsersAdHoc= function(_5625)
|
|||||||
grid.getView().refresh();
|
grid.getView().refresh();
|
||||||
//grid.getSelectionModel().selectRow(0);
|
//grid.getSelectionModel().selectRow(0);
|
||||||
editor.startEditing(0, 0);
|
editor.startEditing(0, 0);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
}
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
var btnRemove = new Ext.Button({
|
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
|
// 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({
|
var grid = new Ext.grid.GridPanel({
|
||||||
@@ -1941,7 +1945,7 @@ TaskContext.prototype.editUsersAdHoc= function(_5625)
|
|||||||
fieldLabel: 'Users_groups',
|
fieldLabel: 'Users_groups',
|
||||||
hiddenName: 'number',
|
hiddenName: 'number',
|
||||||
store : storeUsers,
|
store : storeUsers,
|
||||||
displayField : 'LABEL' ,
|
displayField : 'LABEL',
|
||||||
valueField : 'LABEL',
|
valueField : 'LABEL',
|
||||||
name : 'LABEL',
|
name : 'LABEL',
|
||||||
scope : _5625,
|
scope : _5625,
|
||||||
@@ -1991,13 +1995,22 @@ TaskContext.prototype.editUsersAdHoc= function(_5625)
|
|||||||
var userId = record.data.USR_UID;
|
var userId = record.data.USR_UID;
|
||||||
var tu_Type = record.data.TU_TYPE;
|
var tu_Type = record.data.TU_TYPE;
|
||||||
var tu_Relation = record.data.TU_RELATION;
|
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({
|
Ext.Ajax.request({
|
||||||
url: 'processes_Ajax.php' +urlparams ,
|
url: '../users/users_Ajax.php',
|
||||||
|
METHOD:'post',
|
||||||
success: function (response) { // When saving data success
|
success: function (response) { // When saving data success
|
||||||
Ext.MessageBox.alert ('Status','User has been successfully assigned');
|
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
|
failure: function () { // when saving data failed
|
||||||
Ext.MessageBox.alert ('Status','Failed saving User Assigned to Task');
|
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 user_TURel = record.json.TU_RELATION;
|
||||||
var userUID = record.json.USR_UID;
|
var userUID = record.json.USR_UID;
|
||||||
var user_TUtype = record.json.TU_TYPE;
|
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({
|
Ext.Ajax.request({
|
||||||
url : 'processes_Ajax.php' +urlparams ,
|
url : '../users/users_Ajax.php',
|
||||||
|
method: 'POST',
|
||||||
success: function(response) {
|
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