diff --git a/workflow/engine/methods/cases/casesList_Ajax.php b/workflow/engine/methods/cases/casesList_Ajax.php
index 8ebbeb84c..4ef28570d 100755
--- a/workflow/engine/methods/cases/casesList_Ajax.php
+++ b/workflow/engine/methods/cases/casesList_Ajax.php
@@ -1,9 +1,9 @@
message = G::LoadTranslation('ID_LOGIN_AGAIN');
$response->lostSession = true;
- print G::json_encode( $response );
+ print G::json_encode($response);
die();
}
/**
@@ -46,13 +46,13 @@ $_POST = $filter->xssFilterHard($_POST);
$_REQUEST = $filter->xssFilterHard($_REQUEST);
$_SESSION = $filter->xssFilterHard($_SESSION);
-$actionAjax = isset( $_REQUEST['actionAjax'] ) ? $_REQUEST['actionAjax'] : null;
+$actionAjax = isset($_REQUEST['actionAjax']) ? $_REQUEST['actionAjax'] : null;
function filterUserListArray($users = array(), $filter = '')
{
$filteredUsers = array();
foreach ($users as $user) {
- if(stripos($user['USR_FULLNAME'], $filter) || empty($filter)) {
+ if (stripos($user['USR_FULLNAME'], $filter) || empty($filter)) {
$filteredUsers[] = $user;
}
}
@@ -62,15 +62,16 @@ function filterUserListArray($users = array(), $filter = '')
if ($actionAjax == "userValues") {
//global $oAppCache;
$oAppCache = new AppCacheView();
- $action = isset( $_REQUEST['action'] ) ? $_REQUEST['action'] : null;
- $query = isset( $_REQUEST['query'] ) ? $_REQUEST['query'] : null;
+ $action = isset($_REQUEST['action']) ? $_REQUEST['action'] : null;
+ $query = isset($_REQUEST['query']) ? $_REQUEST['query'] : null;
$users = array();
- $users[] = array ("USR_UID" => "", "USR_FULLNAME" => G::LoadTranslation( "ID_ALL_USERS" ));
- $users[] = array ("USR_UID" => "CURRENT_USER", "USR_FULLNAME" => G::LoadTranslation( "ID_CURRENT_USER" ));
+ $users[] = array("USR_UID" => "", "USR_FULLNAME" => G::LoadTranslation("ID_ALL_USERS"));
+ $users[] = array("USR_UID" => "CURRENT_USER", "USR_FULLNAME" => G::LoadTranslation("ID_CURRENT_USER"));
$users = filterUserListArray($users, $query);
//now get users, just for the Search action
switch ($action) {
case 'search_simple':
+ case 'to_reassign':
case 'search':
G::LoadClass("configuration");
@@ -78,24 +79,24 @@ if ($actionAjax == "userValues") {
$confEnvSetting = $conf->getFormats();
- $cUsers = new Criteria( 'workflow' );
+ $cUsers = new Criteria('workflow');
$cUsers->clearSelectColumns();
$cUsers->addSelectColumn(UsersPeer::USR_UID);
$cUsers->addSelectColumn(UsersPeer::USR_USERNAME);
$cUsers->addSelectColumn(UsersPeer::USR_FIRSTNAME);
$cUsers->addSelectColumn(UsersPeer::USR_LASTNAME);
- $cUsers->add( UsersPeer::USR_STATUS, 'CLOSED', Criteria::NOT_EQUAL );
+ $cUsers->add(UsersPeer::USR_STATUS, 'CLOSED', Criteria::NOT_EQUAL);
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->addOr( $filters );
+ $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(UsersPeer::TABLE_NAME . "." . $conf->userNameFormatGetFirstFieldByUsersTable());
- $oDataset = UsersPeer::doSelectRS( $cUsers );
- $oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC );
+ $oDataset = UsersPeer::doSelectRS($cUsers);
+ $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
while ($oDataset->next()) {
$row = $oDataset->getRow();
@@ -110,139 +111,65 @@ if ($actionAjax == "userValues") {
break;
}
//return $users;
- return print G::json_encode( $users );
+ return print G::json_encode($users);
}
if ($actionAjax == "processListExtJs") {
- $action = isset( $_REQUEST['action'] ) ? $_REQUEST['action'] : null;
- $categoryUid = isset( $_REQUEST['CATEGORY_UID'] ) ? $_REQUEST['CATEGORY_UID'] : null;
- $userUid = (isset( $_SESSION['USER_LOGGED'] ) && $_SESSION['USER_LOGGED'] != '') ? $_SESSION['USER_LOGGED'] : null;
+ $action = isset($_REQUEST['action']) ? $_REQUEST['action'] : null;
+ $query = isset($_REQUEST['query']) ? $_REQUEST['query'] : null;
+ $categoryUid = isset($_REQUEST['CATEGORY_UID']) ? $_REQUEST['CATEGORY_UID'] : null;
+ $userUid = (isset($_SESSION['USER_LOGGED']) && $_SESSION['USER_LOGGED'] != '') ? $_SESSION['USER_LOGGED'] : null;
- global $oAppCache;
- $oAppCache = new AppCacheView();
- $processes = Array ();
- $processes[] = array ('',G::LoadTranslation( 'ID_ALL_PROCESS' )
- );
+ $processes = array();
+ //in search action, the query to obtain all process is too slow, so we need to query directly to
+ //process and content tables, and for that reason we need the current language in AppCacheView.
+ $oConf = new Configurations();
+ $oConf->loadConfig($x, 'APP_CACHE_VIEW_ENGINE', '', '', '', '');
+ $appCacheViewEngine = $oConf->aConfig;
+ $lang = isset($appCacheViewEngine['LANG']) ? $appCacheViewEngine['LANG'] : 'en';
- //get the list based in the action provided
- switch ($action) {
- case 'draft':
- $cProcess = $oAppCache->getDraftListCriteria( $userUid ); //fast enough
- break;
- case 'sent':
- $cProcess = $oAppCache->getSentListProcessCriteria( $userUid ); // fast enough
- break;
- case 'simple_search':
- case 'search':
- //in search action, the query to obtain all process is too slow, so we need to query directly to
- //process and content tables, and for that reason we need the current language in AppCacheView.
- G::loadClass( 'configuration' );
- $oConf = new Configurations();
- $oConf->loadConfig( $x, 'APP_CACHE_VIEW_ENGINE', '', '', '', '' );
- $appCacheViewEngine = $oConf->aConfig;
- $lang = isset( $appCacheViewEngine['LANG'] ) ? $appCacheViewEngine['LANG'] : 'en';
-
- $cProcess = new Criteria( 'workflow' );
- $cProcess->clearSelectColumns();
- $cProcess->addSelectColumn( ProcessPeer::PRO_UID );
- $cProcess->addSelectColumn( ContentPeer::CON_VALUE );
- if ($categoryUid) {
- $cProcess->add( ProcessPeer::PRO_CATEGORY, $categoryUid );
- }
- $del = DBAdapter::getStringDelimiter();
- $conds = array ();
- $conds[] = array (ProcessPeer::PRO_UID,ContentPeer::CON_ID);
- $conds[] = array (ContentPeer::CON_CATEGORY,$del . 'PRO_TITLE' . $del);
- $conds[] = array (ContentPeer::CON_LANG,$del . $lang . $del);
- $cProcess->addJoinMC( $conds, Criteria::LEFT_JOIN );
- $cProcess->add( ProcessPeer::PRO_STATUS, 'ACTIVE' );
- $cProcess->addAscendingOrderByColumn(ContentPeer::CON_VALUE);
-
- $oDataset = ProcessPeer::doSelectRS( $cProcess );
- $oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC );
- $oDataset->next();
-
- while ($aRow = $oDataset->getRow()) {
- $processes[] = array ($aRow['PRO_UID'],$aRow['CON_VALUE']
- );
- $oDataset->next();
- }
- return print G::json_encode( $processes );
- break;
- case 'unassigned':
- $cProcess = $oAppCache->getUnassignedListCriteria( $userUid );
- break;
- case 'paused':
- $cProcess = $oAppCache->getPausedListCriteria( $userUid );
- break;
- case 'to_revise':
- $cProcess = $oAppCache->getToReviseListCriteria( $userUid );
- break;
- case 'to_reassign':
- $cProcess = $oAppCache->getToReassignListCriteria($userUid);
- break;
- case 'gral':
- $cProcess = $oAppCache->getGeneralListCriteria();
- break;
- case 'todo':
- default:
- $cProcess = $oAppCache->getToDoListCriteria( $userUid ); //fast enough
- break;
- }
+ $cProcess = new Criteria('workflow');
//get the processes for this user in this action
$cProcess->clearSelectColumns();
- $cProcess->addSelectColumn( AppCacheViewPeer::PRO_UID );
- $cProcess->addSelectColumn( AppCacheViewPeer::APP_PRO_TITLE );
- $cProcess->setDistinct( AppCacheViewPeer::PRO_UID );
+ $cProcess->addSelectColumn(ProcessPeer::PRO_UID);
+ $cProcess->addAsColumn('PRO_TITLE', ContentPeer::CON_VALUE);
if ($categoryUid) {
- require_once 'classes/model/Process.php';
- $cProcess->addAlias( 'CP', 'PROCESS' );
- $cProcess->add( 'CP.PRO_CATEGORY', $categoryUid, Criteria::EQUAL );
- $cProcess->addJoin( AppCacheViewPeer::PRO_UID, 'CP.PRO_UID', Criteria::LEFT_JOIN );
- $cProcess->addAsColumn( 'CATEGORY_UID', 'CP.PRO_CATEGORY' );
+ $cProcess->add(ProcessPeer::PRO_CATEGORY, $categoryUid);
}
- $cProcess->addAscendingOrderByColumn(AppCacheViewPeer::APP_PRO_TITLE);
+ $del = \DBAdapter::getStringDelimiter();
+ $conds = array();
+ $conds[] = array(ProcessPeer::PRO_UID, ContentPeer::CON_ID);
+ $conds[] = array(ContentPeer::CON_CATEGORY, $del . 'PRO_TITLE' . $del);
+ $conds[] = array(ContentPeer::CON_LANG, $del . $lang . $del);
+ $cProcess->addJoinMC($conds, Criteria::LEFT_JOIN);
+ $cProcess->add(ProcessPeer::PRO_STATUS, 'ACTIVE');
- $oDataset = AppCacheViewPeer::doSelectRS( $cProcess, Propel::getDbConnection('workflow_ro') );
- $oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC );
- $oDataset->next();
-
- while ($aRow = $oDataset->getRow()) {
- $processes[] = array ($aRow['PRO_UID'],$aRow['APP_PRO_TITLE']
- );
- $oDataset->next();
+ if (!is_null($query)) {
+ $filters = $cProcess->getNewCriterion(ContentPeer::CON_VALUE, '%' . $query . '%', Criteria::LIKE);
+ $cProcess->addAnd($filters);
}
- return print G::json_encode( $processes );
+
+ $cProcess->addAscendingOrderByColumn(ContentPeer::CON_VALUE);
+
+ $oDataset = ProcessPeer::doSelectRS($cProcess);
+ $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
+
+ while ($oDataset->next()) {
+ $aRow = $oDataset->getRow();
+ $processes[] = $aRow;
+ }
+ return print G::json_encode($processes);
}
if ($actionAjax == "getUsersToReassign") {
- $taskUid = $_POST['taskUid'];
- $search = $_POST['search'];
- $pageSize = $_POST['pageSize'];
-
- $sortField = (isset($_POST['sort']))? $_POST['sort'] : '';
- $sortDir = (isset($_POST['dir']))? $_POST['dir'] : '';
- $start = (isset($_POST['start']))? $_POST['start'] : 0;
- $limit = (isset($_POST['limit']))? $_POST['limit'] : $pageSize;
-
- $response = [];
-
- try {
- $case = new \ProcessMaker\BusinessModel\Cases();
-
- $result = $case->getUsersToReassign($_SESSION['USER_LOGGED'], $taskUid, ['filter' => $search], $sortField, $sortDir, $start, $limit);
-
- $response['status'] = 'OK';
- $response['success'] = true;
- $response['resultTotal'] = $result['total'];
- $response['resultRoot'] = $result['data'];
- } catch (Exception $e) {
- $response['status'] = 'ERROR';
- $response['message'] = $e->getMessage();
- }
-
- echo G::json_encode($response);
+ $_SESSION['TASK'] = $_REQUEST['TAS_UID'];
+ $case = new Cases();
+ $task = new Task();
+ $tasks = $task->load($_SESSION['TASK']);
+ $result = new stdClass();
+ $result->data = $case->getUsersToReassign($_SESSION['TASK'], $_SESSION['USER_LOGGED'], $_SESSION['PRO_UID']);
+ print G::json_encode($result);
}
if ($actionAjax == 'reassignCase') {
@@ -259,47 +186,48 @@ if ($actionAjax == 'reassignCase') {
$TO_USR_UID = $_POST['USR_UID'];
try {
- $cases->reassignCase( $_SESSION['APPLICATION'], $_SESSION['INDEX'], $_SESSION['USER_LOGGED'], $TO_USR_UID );
- $caseData = $app->load( $_SESSION['APPLICATION'] );
- $userData = $user->load( $TO_USR_UID );
+ $cases->reassignCase($_SESSION['APPLICATION'], $_SESSION['INDEX'], $_SESSION['USER_LOGGED'], $TO_USR_UID);
+ $caseData = $app->load($_SESSION['APPLICATION']);
+ $userData = $user->load($TO_USR_UID);
//print_r($caseData);
$data['APP_NUMBER'] = $caseData['APP_NUMBER'];
$data['USER'] = $userData['USR_LASTNAME'] . ' ' . $userData['USR_FIRSTNAME']; //TODO change with the farmated username from environment conf
- $result = new stdclass();
+ $result = new stdClass();
$result->status = 0;
- $result->msg = G::LoadTranslation( 'ID_REASSIGNMENT_SUCCESS', SYS_LANG, $data );
+ $result->msg = G::LoadTranslation('ID_REASSIGNMENT_SUCCESS', SYS_LANG, $data);
} catch (Exception $e) {
$result->status = 1;
$result->msg = $e->getMessage();
}
- print G::json_encode( $result );
+ print G::json_encode($result);
}
if ($actionAjax == 'showHistoryMessage') {
?>
-
+
@@ -314,19 +242,22 @@ if ($actionAjax == 'showHistoryMessage') {
$G_PUBLISH = new Publisher();
$oCase = new Cases();
- $G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'cases/cases_MessagesView', '', $oCase->getHistoryMessagesTrackerView( $_POST['APP_UID'], $_POST['APP_MSG_UID'] ) );
+ $G_PUBLISH->AddContent('xmlform', 'xmlform', 'cases/cases_MessagesView', '', $oCase->getHistoryMessagesTrackerView($_POST['APP_UID'], $_POST['APP_MSG_UID']));
+
+ ?>
+
?>
-
+
AddContent( 'view', 'cases/cases_DynaformHistory' );
+ $G_PUBLISH->AddContent('view', 'cases/cases_DynaformHistory');
- G::RenderPage( 'publish', 'raw' );
+ G::RenderPage('publish', 'raw');
}
if ($actionAjax == 'dynaformChangeLogViewHistory') {
?>
-
+
+
AddContent( 'dynaform', 'xmlform', $_SESSION['PROCESS'] . '/' . $_POST['DYN_UID'], '', $Fields['APP_DATA'], '', '', 'view' );
+ $G_PUBLISH->AddContent('dynaform', 'xmlform', $_SESSION['PROCESS'] . '/' . $_POST['DYN_UID'], '',
+ $Fields['APP_DATA'], '', '', 'view');
?>
-
+
@@ -618,28 +588,28 @@ if ($actionAjax == 'historyDynaformGridPreview') {
//!dataIndex
$_POST["DYN_UID"] = $_REQUEST["DYN_UID"];
- G::LoadClass( 'case' );
$G_PUBLISH = new Publisher();
$oCase = new Cases();
- $Fields = $oCase->loadCase( $_SESSION['APPLICATION'] );
+ $Fields = $oCase->loadCase($_SESSION['APPLICATION']);
$Fields['APP_DATA']['__DYNAFORM_OPTIONS']['PREVIOUS_STEP_LABEL'] = '';
$Fields['APP_DATA']['__DYNAFORM_OPTIONS']['NEXT_STEP_LABEL'] = '';
$Fields['APP_DATA']['__DYNAFORM_OPTIONS']['NEXT_STEP'] = '#';
$Fields['APP_DATA']['__DYNAFORM_OPTIONS']['NEXT_ACTION'] = 'return false;';
$_SESSION['DYN_UID_PRINT'] = $_POST['DYN_UID'];
- $G_PUBLISH->AddContent( 'dynaform', 'xmlform', $_SESSION['PROCESS'] . '/' . $_POST['DYN_UID'], '', $Fields['APP_DATA'], '', '', 'view' );
+ $G_PUBLISH->AddContent('dynaform', 'xmlform', $_SESSION['PROCESS'] . '/' . $_POST['DYN_UID'], '',
+ $Fields['APP_DATA'],
+ '', '', 'view');
?>