Merge remote-tracking branch 'origin/release/3.2' into feature/HOR-2635
This commit is contained in:
@@ -64,6 +64,30 @@ if ($actionAjax == "userValues") {
|
||||
$users = filterUserListArray($users, $query);
|
||||
//now get users, just for the Search action
|
||||
switch ($action) {
|
||||
case 'to_reassign':
|
||||
$cUsers = $oAppCache->getToReassignListCriteria(null);
|
||||
$cUsers->addSelectColumn(AppCacheViewPeer::USR_UID);
|
||||
|
||||
if (g::MySQLSintaxis()) {
|
||||
$cUsers->addGroupByColumn(AppCacheViewPeer::USR_UID);
|
||||
}
|
||||
|
||||
if (!is_null($query)) {
|
||||
$filters = $cUsers->getNewCriterion(UsersPeer::USR_FIRSTNAME, '%' . $query . '%', Criteria::LIKE)->addOr(
|
||||
$cUsers->getNewCriterion(UsersPeer::USR_LASTNAME, '%' . $query . '%', Criteria::LIKE)->addOr(
|
||||
$cUsers->getNewCriterion(UsersPeer::USR_USERNAME, '%' . $query . '%', Criteria::LIKE)));
|
||||
$cUsers->addAnd($filters);
|
||||
}
|
||||
$cUsers->setLimit(20);
|
||||
$cUsers->addAscendingOrderByColumn(AppCacheViewPeer::APP_CURRENT_USER);
|
||||
$oDataset = AppCacheViewPeer::doSelectRS($cUsers, Propel::getDbConnection('workflow_ro'));
|
||||
$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
|
||||
$oDataset->next();
|
||||
while ($aRow = $oDataset->getRow()) {
|
||||
$users[] = array("USR_UID" => $aRow['USR_UID'], "USR_FULLNAME" => $aRow['APP_CURRENT_USER']);
|
||||
$oDataset->next();
|
||||
}
|
||||
break;
|
||||
case 'search_simple':
|
||||
case 'search':
|
||||
G::LoadClass("configuration");
|
||||
|
||||
@@ -9,9 +9,6 @@ switch ($action) {
|
||||
case 'getAllCounters':
|
||||
getAllCounters();
|
||||
break;
|
||||
case 'getProcess':
|
||||
getProcess();
|
||||
break;
|
||||
/*----------------------------------********---------------------------------*/
|
||||
case 'getAllCountersEnterprise':
|
||||
getAllCountersEnterprise();
|
||||
@@ -218,64 +215,6 @@ function getLoadTreeMenuData ()
|
||||
print $xml;*/
|
||||
}
|
||||
|
||||
// get the process summary of specific case list type,
|
||||
function getProcess ()
|
||||
{
|
||||
global $G_TMP_MENU;
|
||||
global $userId;
|
||||
if (! isset( $_GET['item'] )) {
|
||||
die();
|
||||
}
|
||||
|
||||
$oMenu = new Menu();
|
||||
$oMenu->load( 'cases' );
|
||||
$type = $_GET['item'];
|
||||
$oCases = new AppCacheView();
|
||||
|
||||
$aTypesID = array ();
|
||||
$aTypesID['CASES_INBOX'] = 'to_do';
|
||||
$aTypesID['CASES_DRAFT'] = 'draft';
|
||||
$aTypesID['CASES_CANCELLED'] = 'cancelled';
|
||||
$aTypesID['CASES_SENT'] = 'sent';
|
||||
$aTypesID['CASES_PAUSED'] = 'paused';
|
||||
$aTypesID['CASES_COMPLETED'] = 'completed';
|
||||
$aTypesID['CASES_SELFSERVICE'] = 'selfservice';
|
||||
//$aTypesID['CASES_TO_REVISE'] = 'to_revise';
|
||||
//$aTypesID['CASES_TO_REASSIGN'] = 'to_reassign';
|
||||
$aTypesID = Array ('CASES_INBOX' => 'to_do','CASES_DRAFT' => 'draft','CASES_CANCELLED' => 'cancelled','CASES_SENT' => 'sent','CASES_PAUSED' => 'paused','CASES_COMPLETED' => 'completed','CASES_SELFSERVICE' => 'selfservice','CASES_TO_REVISE' => 'to_revise','CASES_TO_REASSIGN' => 'to_reassign');
|
||||
|
||||
$aCount = $oCases->getAllCounters( Array ($aTypesID[$type]
|
||||
), $userId, true );
|
||||
|
||||
$response = Array ();
|
||||
//disabling the summary...
|
||||
/*
|
||||
$i=0;
|
||||
foreach($aCount[$aTypesID[$type]]['sumary'] as $PRO_UID=>$process){
|
||||
//{"text":"state","id":"src\/state","cls":"folder", loaded:true},
|
||||
$response[$i] = new stdClass();
|
||||
$response[$i]->text = $process['name'] . ' ('.$process['count'].')';
|
||||
$response[$i]->id = $process['name'];
|
||||
$response[$i]->cls = 'folder';
|
||||
$response[$i]->loaded = true;
|
||||
$i++;
|
||||
}
|
||||
*/
|
||||
//ordering
|
||||
/*for($i=0; $i<=count($response)-1; $i++){
|
||||
for($j=$i+1; $j<=count($response); $j++){
|
||||
|
||||
echo $response[$j]->text .'<'. $response[$i]->text;
|
||||
if($response[$j]->text[0] < $response[$i]->text[0]){
|
||||
$x = $response[$i];
|
||||
$response[$i] = $response[$j];
|
||||
$response[$j] = $x;
|
||||
}
|
||||
}
|
||||
}*/
|
||||
echo G::json_encode( $response );
|
||||
}
|
||||
|
||||
/*----------------------------------********---------------------------------*/
|
||||
function getAllCountersEnterprise()
|
||||
{
|
||||
|
||||
@@ -1019,20 +1019,23 @@ switch (($_POST['action']) ? $_POST['action'] : $_REQUEST['action']) {
|
||||
|
||||
if (is_array( $aApplication )) {
|
||||
$response['exists'] = true;
|
||||
$objCase = new \ProcessMaker\BusinessModel\Cases();
|
||||
$aUserCanAccess = $objCase->userAuthorization(
|
||||
$_SESSION['USER_LOGGED'],
|
||||
$aApplication['PRO_UID'],
|
||||
$aApplication['APP_UID'],
|
||||
array('PM_ALLCASES'),
|
||||
array('SUMMARY_FORM'=>'VIEW')
|
||||
);
|
||||
|
||||
//Check if the user is a supervisor to this Process
|
||||
if(isset($_POST['actionFromList']) && $_POST['actionFromList']==='to_revise'){
|
||||
$oAppCache = new AppCacheView();
|
||||
$aProcesses = $oAppCache->getProUidSupervisor($_SESSION['USER_LOGGED']);
|
||||
if(!in_array($aApplication['PRO_UID'], $aProcesses)){
|
||||
if (isset($_POST['actionFromList']) && $_POST['actionFromList']==='to_revise') {
|
||||
if (!$aUserCanAccess['supervisor']) {
|
||||
$response['exists'] = false;
|
||||
$response['message'] = G::LoadTranslation('ID_NO_PERMISSION_NO_PARTICIPATED');
|
||||
}
|
||||
} else {//Check if the user participated in this case
|
||||
$oParticipated = new ListParticipatedLast();
|
||||
$aParticipated = $oParticipated->loadList($_SESSION['USER_LOGGED'], array(), null, $aApplication['APP_UID']);
|
||||
if(!sizeof($aParticipated)){
|
||||
//Check in the selfservice list
|
||||
if (!$aUserCanAccess['participated'] && !$aUserCanAccess['rolesPermissions']['PM_ALLCASES'] && !$aUserCanAccess['objectPermissions']['SUMMARY_FORM']) {
|
||||
$response['exists'] = false;
|
||||
$response['message'] = G::LoadTranslation('ID_NO_PERMISSION_NO_PARTICIPATED');
|
||||
}
|
||||
|
||||
@@ -49,20 +49,34 @@ $G_ID_SUB_MENU_SELECTED = '_';
|
||||
|
||||
/* Prepare page before to show */
|
||||
$oCase = new Cases();
|
||||
//$Fields = $oCase->loadCase( $_SESSION['APPLICATION'], $_SESSION['INDEX'] );
|
||||
//Check the authorization
|
||||
$objCase = new \ProcessMaker\BusinessModel\Cases();
|
||||
$aUserCanAccess = $objCase->userAuthorization(
|
||||
$_SESSION['USER_LOGGED'],
|
||||
$_SESSION['PROCESS'],
|
||||
$_GET['APP_UID'],
|
||||
array('PM_ALLCASES'),
|
||||
array('SUMMARY_FORM' => 'VIEW')
|
||||
);
|
||||
|
||||
if (isset($_SESSION['ACTION']) && ($_SESSION['ACTION'] == 'jump')) {
|
||||
$Fields = $oCase->loadCase( $_SESSION['APPLICATION'], $_SESSION['INDEX'], $_SESSION['ACTION']);
|
||||
$process = new Process();
|
||||
$processData = $process->load($Fields['PRO_UID']);
|
||||
if (isset($processData['PRO_DYNAFORMS']['PROCESS']) && $processData['PRO_DYNAFORMS']['PROCESS'] != '' &&
|
||||
$aUserCanAccess['objectPermissions']['SUMMARY_FORM']
|
||||
) {
|
||||
$_REQUEST['APP_UID'] = $Fields['APP_UID'];
|
||||
$_REQUEST['DEL_INDEX'] = $Fields['DEL_INDEX'];
|
||||
$_REQUEST['DYN_UID'] = $processData['PRO_DYNAFORMS']['PROCESS'];
|
||||
require_once(PATH_METHODS . 'cases' . PATH_SEP . 'summary.php');
|
||||
exit();
|
||||
}
|
||||
} else {
|
||||
$Fields = $oCase->loadCase( $_SESSION['APPLICATION'], $_SESSION['INDEX']);
|
||||
}
|
||||
|
||||
//Check the participated
|
||||
$participated = $oCase->userParticipatedInCase( $_GET['APP_UID'], $_SESSION['USER_LOGGED'] );
|
||||
//Check if is Supervisor
|
||||
$processUser = new ProcessUser();
|
||||
$userAccess = $processUser->validateUserAccess($Fields['PRO_UID'], $_SESSION['USER_LOGGED']);
|
||||
|
||||
if ($RBAC->userCanAccess( 'PM_ALLCASES' ) < 0 && !$participated && !$userAccess) {
|
||||
if (!$aUserCanAccess['participated'] && !$aUserCanAccess['supervisor'] && !$aUserCanAccess['rolesPermissions']['PM_ALLCASES'] && !$aUserCanAccess['objectPermissions']['SUMMARY_FORM']) {
|
||||
$aMessage['MESSAGE'] = G::LoadTranslation( 'ID_NO_PERMISSION_NO_PARTICIPATED' );
|
||||
$G_PUBLISH = new Publisher();
|
||||
$G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'login/showMessage', '', $aMessage );
|
||||
@@ -133,36 +147,30 @@ if ($nTasksInParallel > 1) {
|
||||
$Fields['TAS_TITLE'] = $aTask['TAS_TITLE'];
|
||||
|
||||
$objUser = new Users();
|
||||
|
||||
$oHeadPublisher = & headPublisher::getSingleton();
|
||||
$oHeadPublisher->addScriptFile( '/jscore/cases/core/cases_Step.js' );
|
||||
$G_PUBLISH = new Publisher();
|
||||
$G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'cases/cases_Resume.xml', '', $Fields, '' );
|
||||
if($Fields['APP_STATUS'] != 'COMPLETED'){
|
||||
$G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'cases/cases_Resume_Current_Task_Title.xml', '', $Fields, '' );
|
||||
$objDel = new AppDelegation();
|
||||
$parallel = $objDel->LoadParallel ($Fields['APP_UID'],$_GET['DEL_INDEX']);
|
||||
$FieldsPar = $Fields;
|
||||
if(empty($parallel)){
|
||||
$G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'cases/cases_Resume_Current_Task.xml', '', $Fields, '' );
|
||||
}else{
|
||||
foreach($parallel as $row){
|
||||
$FieldsPar['TAS_UID'] = $row['TAS_UID'];
|
||||
$aTask = $objTask->load( $row['TAS_UID'] );
|
||||
$FieldsPar['TAS_TITLE'] = $aTask['TAS_TITLE'];
|
||||
$FieldsPar['USR_UID'] = $row['USR_UID'];
|
||||
if(isset($row['USR_UID']) && !empty($row['USR_UID'])) {
|
||||
$aUser = $objUser->loadDetails ($row['USR_UID']);
|
||||
$FieldsPar['CURRENT_USER'] = $aUser['USR_FULLNAME'];
|
||||
}
|
||||
$FieldsPar['DEL_DELEGATE_DATE'] = $row['DEL_DELEGATE_DATE'];
|
||||
$FieldsPar['DEL_INIT_DATE'] = $row['DEL_INIT_DATE'];
|
||||
$FieldsPar['DEL_TASK_DUE_DATE'] = $row['DEL_TASK_DUE_DATE'];
|
||||
$FieldsPar['DEL_FINISH_DATE'] = $row['DEL_FINISH_DATE'];
|
||||
$G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'cases/cases_Resume_Current_Task.xml', '', $FieldsPar, '' );
|
||||
if ($Fields['APP_STATUS'] != 'COMPLETED') {
|
||||
$G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'cases/cases_Resume_Current_Task_Title.xml', '', $Fields, '' );
|
||||
$objDel = new AppDelegation();
|
||||
$parallel = $objDel->LoadParallel($Fields['APP_UID']);
|
||||
$FieldsPar = $Fields;
|
||||
foreach ($parallel as $row) {
|
||||
$FieldsPar['TAS_UID'] = $row['TAS_UID'];
|
||||
$aTask = $objTask->load( $row['TAS_UID'] );
|
||||
$FieldsPar['TAS_TITLE'] = $aTask['TAS_TITLE'];
|
||||
$FieldsPar['USR_UID'] = $row['USR_UID'];
|
||||
if (isset($row['USR_UID']) && !empty($row['USR_UID'])) {
|
||||
$aUser = $objUser->loadDetails ($row['USR_UID']);
|
||||
$FieldsPar['CURRENT_USER'] = $aUser['USR_FULLNAME'];
|
||||
}
|
||||
$FieldsPar['DEL_DELEGATE_DATE'] = $row['DEL_DELEGATE_DATE'];
|
||||
$FieldsPar['DEL_INIT_DATE'] = $row['DEL_INIT_DATE'];
|
||||
$FieldsPar['DEL_TASK_DUE_DATE'] = $row['DEL_TASK_DUE_DATE'];
|
||||
$FieldsPar['DEL_FINISH_DATE'] = $row['DEL_FINISH_DATE'];
|
||||
$G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'cases/cases_Resume_Current_Task.xml', '', $FieldsPar);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
G::RenderPage('publish', 'blank');
|
||||
|
||||
@@ -1009,7 +1009,7 @@ try {
|
||||
$aFields['TASK'][$sKey]['NEXT_TASK']['TAS_TRANSFER_HIDDEN_FLY'] = "<input type=hidden name='" . $hiddenName . "[NEXT_TASK][TAS_TRANSFER_HIDDEN_FLY]' id='" . $hiddenName . "[NEXT_TASK][TAS_TRANSFER_HIDDEN_FLY]' value=" . $aValues['NEXT_TASK']['TAS_TRANSFER_FLY'] . ">";
|
||||
if ($aValues['NEXT_TASK']['TAS_TRANSFER_FLY'] == 'true') {
|
||||
$aFields['TASK'][$sKey]['NEXT_TASK']['TAS_DURATION'] = '<input type="text" size="5" name="' . $hiddenName . '[NEXT_TASK][TAS_DURATION]" id="' . $hiddenName . '[NEXT_TASK][TAS_DURATION]" value="' . $aValues['NEXT_TASK']['TAS_DURATION'] . '">';
|
||||
$hoursSelected = $daysSelected = '';
|
||||
$hoursSelected = $daysSelected = $minSelected = '';
|
||||
if ($aFields['TASK'][$sKey]['NEXT_TASK']['TAS_TIMEUNIT'] == 'HOURS') {
|
||||
$hoursSelected = "selected = 'selected'";
|
||||
} else {
|
||||
|
||||
@@ -10,9 +10,6 @@ if (!isset($_SESSION['USER_LOGGED'])) {
|
||||
|
||||
G::LoadSystem('inputfilter');
|
||||
$filter = new InputFilter();
|
||||
$_GET = $filter->xssFilterHard($_GET);
|
||||
$_REQUEST = $filter->xssFilterHard($_REQUEST);
|
||||
$_SESSION['USER_LOGGED'] = $filter->xssFilterHard($_SESSION['USER_LOGGED']);
|
||||
|
||||
try {
|
||||
$userUid = $_SESSION['USER_LOGGED'];
|
||||
@@ -162,7 +159,7 @@ try {
|
||||
$record["APP_UPDATE_DATE"] = $record["DEL_DELEGATE_DATE"];
|
||||
}
|
||||
|
||||
if (isset($record['DEL_CURRENT_TAS_TITLE'])) {
|
||||
if (isset($record['DEL_CURRENT_TAS_TITLE']) && $record['DEL_CURRENT_TAS_TITLE'] != '') {
|
||||
$record['APP_TAS_TITLE'] = $record['DEL_CURRENT_TAS_TITLE'];
|
||||
}
|
||||
|
||||
@@ -195,8 +192,6 @@ try {
|
||||
$response['filters'] = $filtersData;
|
||||
$response['totalCount'] = $list->countTotal($userUid, $filtersData);
|
||||
|
||||
$response = $filter->xssFilterHard($response);
|
||||
|
||||
$response['data'] = \ProcessMaker\Util\DateTime::convertUtcToTimeZone($result);
|
||||
|
||||
echo G::json_encode($response);
|
||||
|
||||
@@ -69,7 +69,6 @@ try {
|
||||
$result = DynaformPeer::doSelectRS($criteria);
|
||||
$result->setFetchmode(ResultSet::FETCHMODE_ASSOC);
|
||||
if ($result->next()) {
|
||||
G::LoadClass('pmDynaform');
|
||||
G::LoadClass('pmDynaform');
|
||||
$FieldsPmDynaform = $applicationFields;
|
||||
$FieldsPmDynaform["CURRENT_DYNAFORM"] = $_REQUEST['DYN_UID'];
|
||||
|
||||
Reference in New Issue
Block a user