BUG 9721 Reassign cases not working properly on Parallel tasks SOLVED

- The TAS_UID was not sent and used when get the users list
- TAS_UID is send and some other validations was added
This commit is contained in:
Julio Cesar Laura
2012-09-11 13:47:14 -04:00
parent 6df68aa579
commit 3671451838
9 changed files with 48 additions and 28 deletions

View File

@@ -215,6 +215,8 @@ class Ajax
global $G_TABLE;
global $RBAC;
G::LoadClass('processMap');
$oTemplatePower = new TemplatePower(PATH_TPL . 'processes/processes_Map.html');
$oTemplatePower->prepare();
$G_PUBLISH = new Publisher();
@@ -224,6 +226,7 @@ class Ajax
//$oHeadPublisher->addScriptfile('/jscore/processmap/core/processmap.js');
$oHeadPublisher->addScriptCode('
var maximunX = ' . processMap::getMaximunTaskX($_SESSION['PROCESS']) . ';
window.onload = function(){
var pb=leimnud.dom.capture("tag.body 0");
Pm=new processmap();

View File

@@ -430,6 +430,9 @@
$caseReaderFields[] = array( 'name' => 'APP_UID' );
$caseReaderFields[] = array( 'name' => 'USR_UID' );
$caseReaderFields[] = array( 'name' => 'PREVIOUS_USR_UID' );
$caseReaderFields[] = array( 'name' => 'PREVIOUS_USR_FIRSTNAME' );
$caseReaderFields[] = array( 'name' => 'PREVIOUS_USR_LASTNAME' );
$caseReaderFields[] = array( 'name' => 'PREVIOUS_USR_USERNAME' );
$caseReaderFields[] = array( 'name' => 'APP_NUMBER' );
$caseReaderFields[] = array( 'name' => 'APP_STATUS' );
$caseReaderFields[] = array( 'name' => 'DEL_INDEX' );

View File

@@ -78,12 +78,14 @@ switch (($_POST['action'])?$_POST['action']:$_REQUEST['action']) {
G::RenderPage('publish', 'raw');
break;
case 'showProcessMap':
G::LoadClass('processMap');
$oTemplatePower = new TemplatePower(PATH_TPL . 'processes/processes_Map.html');
$oTemplatePower->prepare();
$G_PUBLISH = new Publisher();
$G_PUBLISH->AddContent('template', '', '', '', $oTemplatePower);
$oHeadPublisher = & headPublisher::getSingleton();
$oHeadPublisher->addScriptCode('
var maximunX = ' . processMap::getMaximunTaskX($_SESSION['PROCESS']) . ';
var pb=leimnud.dom.capture("tag.body 0");
Pm=new processmap();

View File

@@ -46,7 +46,7 @@ function array_sort($array, $on, $order=SORT_ASC, $query='')
foreach ($sortable_array as $k => $v) {
if ($query==''){
$new_array[] = $array[$k];
}
}
else {
if ( preg_match("/".$query."/i", $array[$k]['userFullname']) ) {
$new_array[] = $array[$k];
@@ -57,11 +57,11 @@ function array_sort($array, $on, $order=SORT_ASC, $query='')
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['user']) ? $_POST['user'] : '';
$TaskUid = isset($_POST['task']) ? $_POST['task'] : '';
$sReassignFromUser = isset($_POST['currentUser']) ? $_POST['currentUser'] : '';
G::LoadClass('tasks');
G::LoadClass('groups');
@@ -76,25 +76,25 @@ function array_sort($array, $on, $order=SORT_ASC, $query='')
$aCasesList = Array();
// foreach ( $APP_UIDS as $APP_UID ) {
$aCase = $oCases->loadCaseInCurrentDelegation($appUid);
//$aCase = $oCases->loadCaseInCurrentDelegation($appUid);
$aUsersInvolved = Array();
$aCaseGroups = $oTasks->getGroupsOfTask($aCase['TAS_UID'], 1);
$oConf = new Configurations;
$aCaseGroups = $oTasks->getGroupsOfTask($TaskUid, 1);
$oConf = new Configurations;
$ConfEnv= $oConf->getFormats();
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']);
$sCaseUser = G::getFormatUserList ($ConfEnv['format'],$aCaseUserRecord);
$sCaseUser = G::getFormatUserList ($ConfEnv['format'],$aCaseUserRecord);
// $aUsersInvolved[] = array ( 'userUid' => $aCaseUser['USR_UID'] , 'userFullname' => $aCaseUserRecord['USR_FIRSTNAME'] . ' ' . $aCaseUserRecord['USR_LASTNAME']); // . ' (' . $aCaseUserRecord['USR_USERNAME'] . ')';
$aUsersInvolved[] = array ( 'userUid' => $aCaseUser['USR_UID'] , 'userFullname' => $sCaseUser); // . ' (' . $aCaseUserRecord['USR_USERNAME'] . ')';
}
}
}
$aCaseUsers = $oTasks->getUsersOfTask($aCase['TAS_UID'], 1);
$aCaseUsers = $oTasks->getUsersOfTask($TaskUid, 1);
foreach ( $aCaseUsers as $aCaseUser ) {
if ( $aCaseUser['USR_UID'] != $sReassignFromUser ) {
$aCaseUserRecord = $oUser->load($aCaseUser['USR_UID']);
@@ -105,7 +105,7 @@ function array_sort($array, $on, $order=SORT_ASC, $query='')
}
// $oTmp = new stdClass();
// $oTmp->items = $aUsersInvolved;
$result = array();
$aUsersInvolved = array_sort($aUsersInvolved,'userFullname',SORT_ASC, $query);
$result = array();
$aUsersInvolved = array_sort($aUsersInvolved,'userFullname',SORT_ASC, $query);
$result['data'] = $aUsersInvolved;
print G::json_encode( $result ) ;

View File

@@ -53,6 +53,7 @@ switch (($aCaseTracker['CT_MAP_TYPE'])) {
break;
case 'PROCESSMAP':
G::LoadClass('case');
G::LoadClass('processMap');
$oCase = new Cases();
$aFields = $oCase->loadCase($_SESSION['APPLICATION']);
if (isset($aFields['TITLE'])) {
@@ -72,6 +73,7 @@ switch (($aCaseTracker['CT_MAP_TYPE'])) {
$G_PUBLISH->AddContent('template', '', '', '', $oTemplatePower);
$oHeadPublisher = & headPublisher::getSingleton();
$oHeadPublisher->addScriptCode('
var maximunX = ' . processMap::getMaximunTaskX($_SESSION['PROCESS']) . ';
leimnud.event.add(window,"load",function(){
var pb = leimnud.dom.capture("tag.body 0");
pm = new processmap();