diff --git a/workflow/engine/methods/cases/proxyReassignCasesList.php b/workflow/engine/methods/cases/proxyReassignCasesList.php index def13a50d..eeeb34e19 100755 --- a/workflow/engine/methods/cases/proxyReassignCasesList.php +++ b/workflow/engine/methods/cases/proxyReassignCasesList.php @@ -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 ); } diff --git a/workflow/engine/methods/cases/proxyReassignUsersList.php b/workflow/engine/methods/cases/proxyReassignUsersList.php index ae662cbd5..67e119bf5 100755 --- a/workflow/engine/methods/cases/proxyReassignUsersList.php +++ b/workflow/engine/methods/cases/proxyReassignUsersList.php @@ -1,91 +1,34 @@ 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 );