users assignment (continue)
This commit is contained in:
@@ -147,4 +147,61 @@ class TaskUser extends BaseTaskUser {
|
||||
return $aRows;
|
||||
}
|
||||
|
||||
//erik: new functions
|
||||
function getUsersTask($TAS_UID, $TU_TYPE=1){
|
||||
|
||||
require_once 'classes/model/Users.php';
|
||||
|
||||
$groupsTask = array();
|
||||
$usersTask = array();
|
||||
|
||||
//getting task's users
|
||||
$criteria = new Criteria('workflow');
|
||||
$criteria->addSelectColumn(UsersPeer::USR_FIRSTNAME);
|
||||
$criteria->addSelectColumn(UsersPeer::USR_LASTNAME);
|
||||
$criteria->addSelectColumn(UsersPeer::USR_USERNAME);
|
||||
$criteria->addSelectColumn(TaskUserPeer::TAS_UID);
|
||||
$criteria->addSelectColumn(TaskUserPeer::USR_UID);
|
||||
$criteria->addSelectColumn(TaskUserPeer::TU_TYPE);
|
||||
$criteria->addSelectColumn(TaskUserPeer::TU_RELATION);
|
||||
$criteria->addJoin(TaskUserPeer::USR_UID, UsersPeer::USR_UID, Criteria::LEFT_JOIN);
|
||||
$criteria->add(TaskUserPeer::TAS_UID, $TAS_UID);
|
||||
$criteria->add(TaskUserPeer::TU_TYPE, $TU_TYPE);
|
||||
$criteria->add(TaskUserPeer::TU_RELATION, 1);
|
||||
|
||||
$dataset = TaskUserPeer::doSelectRS($criteria);
|
||||
$dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
|
||||
|
||||
while ($dataset->next())
|
||||
$usersTask[] = $dataset->getRow();
|
||||
|
||||
//getting task's groups
|
||||
$delimiter = DBAdapter::getStringDelimiter ();
|
||||
$criteria = new Criteria('workflow');
|
||||
$criteria->addAsColumn('GRP_TITLE', 'CONTENT.CON_VALUE');
|
||||
$criteria->addSelectColumn(TaskUserPeer::TAS_UID);
|
||||
$criteria->addSelectColumn(TaskUserPeer::USR_UID);
|
||||
$criteria->addSelectColumn(TaskUserPeer::TU_TYPE);
|
||||
$criteria->addSelectColumn(TaskUserPeer::TU_RELATION);
|
||||
$aConditions[] = array(TaskUserPeer::USR_UID, 'CONTENT.CON_ID');
|
||||
$aConditions[] = array('CONTENT.CON_CATEGORY', $delimiter . 'GRP_TITLE' . $delimiter);
|
||||
$aConditions[] = array('CONTENT.CON_LANG', $delimiter . SYS_LANG . $delimiter);
|
||||
$criteria->addJoinMC($aConditions, Criteria::LEFT_JOIN);
|
||||
$criteria->add(TaskUserPeer::TAS_UID, $TAS_UID);
|
||||
$criteria->add(TaskUserPeer::TU_TYPE, $TU_TYPE);
|
||||
$criteria->add(TaskUserPeer::TU_RELATION, 2);
|
||||
$dataset = TaskUserPeer::doSelectRS($criteria);
|
||||
|
||||
$dataset = TaskUserPeer::doSelectRS($criteria);
|
||||
$dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
|
||||
|
||||
while( $dataset->next() )
|
||||
$usersTask[] = $dataset->getRow();
|
||||
|
||||
$result->data = $usersTask;
|
||||
$result->totalCount = sizeof($usersTask);
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
} // TaskUser
|
||||
@@ -150,12 +150,10 @@ class Ajax
|
||||
{
|
||||
require_once 'classes/model/Users.php';
|
||||
G::LoadClass('configuration');
|
||||
|
||||
$search = isset($params['search']) ? $params['search']: null;
|
||||
|
||||
$users = Users::getAll($params['start'], $params['limit'], $search);
|
||||
$conf = new Configurations;
|
||||
|
||||
$search = isset($params['search']) ? $params['search']: null;
|
||||
$users = Users::getAll($params['start'], $params['limit'], $search);
|
||||
|
||||
foreach($users->data as $i=>$user){
|
||||
$users->data[$i]['USER'] = $conf->getEnvSetting(
|
||||
@@ -178,7 +176,125 @@ class Ajax
|
||||
|
||||
print G::json_encode($groups);
|
||||
}
|
||||
|
||||
|
||||
function assignUsersTask($param)
|
||||
{
|
||||
try{
|
||||
require_once 'classes/model/TaskUser.php';
|
||||
$oTaskUser = new TaskUser();
|
||||
$UIDS = explode(',', $param['UIDS']);
|
||||
$TU_TYPE = 1;
|
||||
|
||||
foreach( $UIDS as $UID ) {
|
||||
if ($_POST['TU_RELATION'] == 1 )
|
||||
$oTaskUser->create(array('TAS_UID' => $param['TAS_UID'], 'USR_UID' => $UID, 'TU_TYPE' => $TU_TYPE, 'TU_RELATION' => 1));
|
||||
else
|
||||
$oTaskUser->create(array('TAS_UID' => $param['TAS_UID'], 'USR_UID' => $UID, 'TU_TYPE' => $TU_TYPE, 'TU_RELATION' => 2));
|
||||
}
|
||||
|
||||
$result->success = true;
|
||||
$result->msg = '';
|
||||
} catch(Exception $e){
|
||||
$result->success = false;
|
||||
$result->msg = $e->getMessage();
|
||||
}
|
||||
|
||||
print G::json_encode($result);
|
||||
}
|
||||
|
||||
function removeUsersTask($param)
|
||||
{
|
||||
try{
|
||||
require_once 'classes/model/TaskUser.php';
|
||||
$oTaskUser = new TaskUser();
|
||||
$USR_UIDS = explode(',', $param['USR_UID']);
|
||||
$TU_RELATIONS = explode(',', $param['TU_RELATION']);
|
||||
$TU_TYPE = 1;
|
||||
|
||||
foreach($USR_UIDS as $i=>$USR_UID) {
|
||||
if ($TU_RELATIONS[$i] == 1 ){
|
||||
|
||||
$oTaskUser->remove($param['TAS_UID'], $USR_UID, $TU_TYPE, 1);
|
||||
|
||||
} else {
|
||||
$oTaskUser->remove($param['TAS_UID'], $USR_UID, $TU_TYPE, 2);
|
||||
}
|
||||
}
|
||||
|
||||
$result->success = true;
|
||||
$result->msg = '';
|
||||
} catch(Exception $e){
|
||||
$result->success = false;
|
||||
$result->msg = "{$TU_RELATIONS[$i]} - {$param['TAS_UID']}, {$USR_UIDS[$i]}, $TU_TYPE, 1 --> " . $e->getMessage();
|
||||
}
|
||||
|
||||
print G::json_encode($result);
|
||||
}
|
||||
|
||||
function getUsersTask($param)
|
||||
{
|
||||
require_once 'classes/model/TaskUser.php';
|
||||
G::LoadClass('configuration');
|
||||
$usersTaskList = Array();
|
||||
$task = new TaskUser;
|
||||
$conf = new Configurations;
|
||||
$TU_TYPE = 1;
|
||||
|
||||
$usersTask = $task->getUsersTask($param['TAS_UID'], $TU_TYPE);
|
||||
|
||||
foreach($usersTask->data as $userTask) {
|
||||
$usersTaskListItem['TAS_UID'] = $userTask['TAS_UID'];
|
||||
if( $userTask['TU_RELATION'] == 1 )
|
||||
$usersTaskListItem['NAME'] = $conf->getEnvSetting(
|
||||
'format',
|
||||
Array(
|
||||
'userName'=>$userTask['USR_USERNAME'],
|
||||
'firstName'=>$userTask['USR_FIRSTNAME'],
|
||||
'lastName'=>$userTask['USR_LASTNAME']
|
||||
)
|
||||
);
|
||||
else
|
||||
$usersTaskListItem['NAME'] = $userTask['GRP_TITLE'];
|
||||
|
||||
$usersTaskListItem['TU_RELATION'] = $userTask['TU_RELATION'];
|
||||
$usersTaskListItem['USR_UID'] = $userTask['USR_UID'];
|
||||
|
||||
$usersTaskList[] = $usersTaskListItem;
|
||||
}
|
||||
|
||||
$result->data = $usersTaskList;
|
||||
$result->totalCount = $usersTask->totalCount;
|
||||
|
||||
print G::json_encode($result);
|
||||
}
|
||||
|
||||
function getProcessDetail($param){
|
||||
require_once 'classes/model/Process.php';
|
||||
|
||||
$PRO_UID = $param['PRO_UID'];
|
||||
|
||||
G::loadClass('tasks');
|
||||
$tasks = new Tasks();
|
||||
$process = ProcessPeer::retrieveByPk($PRO_UID);
|
||||
|
||||
$tasksList = $tasks->getAllTasks($PRO_UID);
|
||||
|
||||
|
||||
$rootNode->id = $process->getProUid();
|
||||
$rootNode->text = $process->getProTitle();
|
||||
$rootNode->leaf = false;
|
||||
$rootNode->expanded =true;
|
||||
foreach($tasksList as $task) {
|
||||
$node = new stdClass;
|
||||
$node->id = $task['TAS_UID'];
|
||||
$node->text = $task['TAS_TITLE'];
|
||||
$node->leaf = true;
|
||||
$rootNode->children[] = $node;
|
||||
}
|
||||
|
||||
$treeDetail[] = $rootNode;
|
||||
print G::json_encode($treeDetail);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -225,6 +225,8 @@ Figure.prototype.onDragend=function() {
|
||||
case 'bpmnSubProcess':
|
||||
currObj.actiontype = 'saveTaskPosition';
|
||||
currObj.workflow.savePosition(currObj);
|
||||
|
||||
|
||||
break;
|
||||
case 'bpmnAnnotation':
|
||||
currObj.actiontype = 'saveTextPosition';
|
||||
@@ -969,8 +971,9 @@ bpmnTask.prototype.onDoubleClick = function () {
|
||||
* erik: Setting task target to Drop user & group assignment
|
||||
*/
|
||||
bpmnTask.prototype.onMouseEnter = function () {
|
||||
if( this.type == 'bpmnTask' && typeof(Ext.getCmp('usersPanel')) != 'undefined' )
|
||||
Ext.getCmp('usersPanel')._targetTask = this.id;
|
||||
if( this.type == 'bpmnTask' && typeof Ext.getCmp('usersPanel') != 'undefined' ) {
|
||||
Ext.getCmp('usersPanel')._targetTask = {id: this.id, name: this.taskName};
|
||||
}
|
||||
};
|
||||
|
||||
bpmnTask.prototype.trim = function (str) {
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user