Merged in victorsl/processmaker/HOR-199-3018 (pull request #3784)

HOR-199
This commit is contained in:
Julio Cesar Laura Avendaño
2016-03-03 17:51:28 -04:00
2 changed files with 21 additions and 125 deletions

View File

@@ -6,19 +6,9 @@ if (!isset($_SESSION['USER_LOGGED'])) {
print G::json_encode( $response );
die();
}
$callback = isset( $_POST['callback'] ) ? $_POST['callback'] : 'stcCallback1001';
$dir = isset( $_POST['dir'] ) ? $_POST['dir'] : 'DESC';
$sort = isset( $_POST['sort'] ) ? $_POST['sort'] : '';
$start = isset( $_POST['start'] ) ? $_POST['start'] : '0';
$limit = isset( $_POST['limit'] ) ? $_POST['limit'] : '25';
$filter = isset( $_POST['filter'] ) ? $_POST['filter'] : '';
$search = isset( $_POST['search'] ) ? $_POST['search'] : '';
$process = isset( $_POST['process'] ) ? $_POST['process'] : '';
$user = isset( $_POST['user'] ) ? $_POST['user'] : '';
$status = isset( $_POST['status'] ) ? strtoupper( $_POST['status'] ) : '';
$action = isset( $_GET['action'] ) ? $_GET['action'] : (isset( $_POST['action'] ) ? $_POST['action'] : 'todo');
$type = isset( $_GET['type'] ) ? $_GET['type'] : (isset( $_POST['type'] ) ? $_POST['type'] : 'extjs');
$user = isset( $_POST['user'] ) ? $_POST['user'] : '';
if (isset($_POST['APP_UIDS'])) {
$sentUids = explode( ',', $_POST['APP_UIDS'] );
@@ -27,7 +17,6 @@ if (isset($_POST['APP_UIDS'])) {
}
$allUidsRecords = array ();
$allTasUids = array ();
// getting all App Uids and task Uids
foreach ($sentUids as $sentUid) {
@@ -35,52 +24,16 @@ foreach ($sentUids as $sentUid) {
$allUidsRecords[] = array ('APP_UID' => $aItem[0],'TAS_UID' => $aItem[1],'DEL_INDEX' => $aItem[2]);
}
$sReassignFromUser = isset( $_POST['user'] ) ? $_POST['user'] : '';
$sProcessUid = isset( $_POST['process'] ) ? $_POST['process'] : '';
G::LoadClass( 'tasks' );
G::LoadClass( 'groups' );
G::LoadClass( 'case' );
G::LoadClass( 'users' );
require_once ("classes/model/AppCacheView.php");
$oTasks = new Tasks();
$oGroups = new Groups();
$oUser = new Users();
$oCases = new Cases();
$aCasesList = Array ();
$vard = 0;
foreach ($allUidsRecords as $aRecord) {
$vard = $vard + 1;
$APP_UID = $aRecord['APP_UID'];
$delIndex = $aRecord['DEL_INDEX'];
$aCase = $oCases->loadCaseByDelegation( $APP_UID, $delIndex );
$aUsersInvolved = Array ();
$aCaseGroups = $oTasks->getGroupsOfTask( $aCase['TAS_UID'], 1 );
foreach ($aCaseGroups as $aCaseGroup) {
$aCaseUsers = $oGroups->getUsersOfGroup( $aCaseGroup['GRP_UID'] );
foreach ($aCaseUsers as $aCaseUser) {
if ($aCaseUser['USR_UID'] != $sReassignFromUser) {
$aCaseUserRecord = $oUser->load( $aCaseUser['USR_UID'] );
$aUsersInvolved[] = array ('userUid' => $aCaseUser['USR_UID'],'userFullname' => $aCaseUserRecord['USR_FIRSTNAME'] . ' ' . $aCaseUserRecord['USR_LASTNAME']);
// . ' (' . $aCaseUserRecord['USR_USERNAME']
}
}
}
$aCaseUsers = $oTasks->getUsersOfTask( $aCase['TAS_UID'], 1 );
foreach ($aCaseUsers as $aCaseUser) {
if ($aCaseUser['USR_UID'] != $sReassignFromUser) {
$aCaseUserRecord = $oUser->load( $aCaseUser['USR_UID'] );
$aUsersInvolved[] = array ('userUid' => $aCaseUser['USR_UID'],'userFullname' => $aCaseUserRecord['USR_FIRSTNAME'] . ' ' . $aCaseUserRecord['USR_LASTNAME']
);
}
}
$oTmp = $aUsersInvolved;
$aCase['USERS'] = $oTmp;
$aCase['USERS'] = [];
array_push( $aCasesList, $aCase );
}

View File

@@ -1,91 +1,34 @@
<?php
G::LoadClass( 'configuration' );
$callback = isset( $_POST['callback'] ) ? $_POST['callback'] : 'stcCallback1001';
$query = isset( $_POST['query'] ) ? $_POST['query'] : '';
$dir = isset( $_POST['dir'] ) ? $_POST['dir'] : 'DESC';
$sort = isset( $_POST['sort'] ) ? $_POST['sort'] : '';
$start = isset( $_POST['start'] ) ? $_POST['start'] : '0';
$limit = isset( $_POST['limit'] ) ? $_POST['limit'] : '25';
$filter = isset( $_POST['filter'] ) ? $_POST['filter'] : '';
$search = isset( $_POST['search'] ) ? $_POST['search'] : '';
$process = isset( $_POST['process'] ) ? $_POST['process'] : '';
$user = isset( $_POST['user'] ) ? $_POST['user'] : '';
$status = isset( $_POST['status'] ) ? strtoupper( $_POST['status'] ) : '';
$action = isset( $_GET['action'] ) ? $_GET['action'] : (isset( $_POST['action'] ) ? $_POST['action'] : 'todo');
$type = isset( $_GET['type'] ) ? $_GET['type'] : (isset( $_POST['type'] ) ? $_POST['type'] : 'extjs');
function array_sort ($array, $on, $order = SORT_ASC, $query = '')
{
$new_array = array ();
$sortable_array = array ();
if (count( $array ) > 0) {
foreach ($array as $k => $v) {
if (is_array( $v )) {
foreach ($v as $k2 => $v2) {
if ($k2 == $on) {
$sortable_array[$k] = $v2;
}
}
} else {
$sortable_array[$k] = $v;
}
}
switch ($order) {
case SORT_ASC:
asort( $sortable_array );
break;
case SORT_DESC:
arsort( $sortable_array );
break;
}
foreach ($sortable_array as $k => $v) {
if ($query == '') {
$new_array[] = $array[$k];
} else {
if (preg_match( "/" . preg_quote($query, '/') . "/i", $array[$k]['userFullname'] )) {
$new_array[] = $array[$k];
}
}
}
}
return $new_array;
}
// $APP_UIDS = explode(',', $_POST['APP_UID']);
$appUid = isset( $_POST['application'] ) ? $_POST['application'] : '';
//$processUid = isset($_POST['process']) ? $_POST['process'] : '';
$TaskUid = isset( $_POST['task'] ) ? $_POST['task'] : '';
$sReassignFromUser = isset( $_POST['currentUser'] ) ? $_POST['currentUser'] : '';
$query = (isset($_POST['query']))? $_POST['query'] : '';
G::LoadClass( 'case' );
$oCases = new Cases();
$oConf = new Configurations();
$aUsersInvolved = Array();
$arrayUsersToReassign = [];
$ConfEnv = $oConf->getFormats();
if ($TaskUid != '') {
G::LoadClass( 'tasks' );
$task = new Task();
$tasks = $task->load($TaskUid);
$rows = $oCases->getUsersToReassign($TaskUid, $_SESSION['USER_LOGGED'], $tasks['PRO_UID']);
foreach ($rows as $row) {
$case = new \ProcessMaker\BusinessModel\Cases();
$result = $case->getUsersToReassign(
$_SESSION['USER_LOGGED'],
$TaskUid,
['filter' => $query],
$oConf->userNameFormatGetFirstFieldByUsersTable(),
'ASC',
null,
25
);
foreach ($result['data'] as $row) {
$sCaseUser = G::getFormatUserList( $ConfEnv['format'], $row );
$aUsersInvolved[] = array ('userUid' => $row['USR_UID'], 'userFullname' => $sCaseUser);
$arrayUsersToReassign[] = ['userUid' => $row['USR_UID'], 'userFullname' => $sCaseUser];
}
}
// $oTmp = new stdClass();
// $oTmp->items = $aUsersInvolved;
$result = array ();
$aUsersInvolved = array_sort( $aUsersInvolved, 'userFullname', SORT_ASC, $query );
$result['data'] = $aUsersInvolved;
$result['data'] = $arrayUsersToReassign;
print G::json_encode( $result );