diff --git a/workflow/engine/src/BusinessModel/Cases.php b/workflow/engine/src/BusinessModel/Cases.php index 121d1d833..81275f248 100644 --- a/workflow/engine/src/BusinessModel/Cases.php +++ b/workflow/engine/src/BusinessModel/Cases.php @@ -37,7 +37,7 @@ class Cases $dir = isset( $dataList["dir"] ) ? $dataList["dir"] : "DESC"; $sort = isset( $dataList["sort"] ) ? $dataList["sort"] : "APP_CACHE_VIEW.APP_NUMBER"; $start = isset( $dataList["start"] ) ? $dataList["start"] : "0"; - $limit = isset( $dataList["limit"] ) ? $dataList["limit"] : "25"; + $limit = isset( $dataList["limit"] ) ? $dataList["limit"] : "config"; $filter = isset( $dataList["filter"] ) ? $dataList["filter"] : ""; $process = isset( $dataList["process"] ) ? $dataList["process"] : ""; $category = isset( $dataList["category"] ) ? $dataList["category"] : ""; @@ -47,8 +47,8 @@ class Cases $action = isset( $dataList["action"] ) ? $dataList["action"] : "todo"; $paged = isset( $dataList["paged"] ) ? $dataList["paged"] : true; $type = "extjs"; - $dateFrom = isset( $dataList["dateFrom"] ) ? substr( $dataList["dateFrom"], 0, 10 ) : ""; - $dateTo = isset( $dataList["dateTo"] ) ? substr( $dataList["dateTo"], 0, 10 ) : ""; + $dateFrom = (!empty( $dataList["dateFrom"] )) ? substr( $dataList["dateFrom"], 0, 10 ) : ""; + $dateTo = (!empty( $dataList["dateTo"] )) ? substr( $dataList["dateTo"], 0, 10 ) : ""; $first = isset( $dataList["first"] ) ? true :false; $valuesCorrect = array('todo', 'draft', 'paused', 'sent', 'selfservice', 'unassigned', 'search'); @@ -56,6 +56,55 @@ class Cases throw (new \Exception('The value for $action is incorrect.')); } + $start = (int)$start; + $start = abs($start); + if ($start != 0) { + $start--; + } + if ($limit == 'config') { + G::LoadClass("configuration"); + $conf = new \Configurations(); + $generalConfCasesList = $conf->getConfiguration('ENVIRONMENT_SETTINGS', ''); + if (isset($generalConfCasesList['casesListRowNumber'])) { + $limit = (int)$generalConfCasesList['casesListRowNumber']; + } else { + $limit = 25; + } + } else { + $limit = (int)$limit; + } + if ($sort != 'APP_CACHE_VIEW.APP_NUMBER') { + $sort = G::toUpper($sort); + $columnsAppCacheView = \AppCacheViewPeer::getFieldNames(\BasePeer::TYPE_FIELDNAME); + if (!(in_array($sort, $columnsAppCacheView))) { + $sort = 'APP_CACHE_VIEW.APP_NUMBER'; + } + } + $dir = G::toUpper($dir); + if (!($dir == 'DESC' || $dir == 'ASC')) { + $dir = 'DESC'; + } + if ($process != '') { + Validator::proUid($process, '$pro_uid'); + } + if ($category != '') { + Validator::catUid($category, '$cat_uid'); + } + $status = G::toUpper($status); + $listStatus = array('TODO', 'DRAFT', 'COMPLETED', 'CANCEL', 'OPEN', 'CLOSE'); + if (!(in_array($status, $listStatus))) { + $status = ''; + } + if ($user != '') { + Validator::usrUid($user, '$usr_uid'); + } + if ($dateFrom != '') { + Validator::isDate($dateFrom, 'Y-m-d', '$date_from'); + } + if ($dateTo != '') { + Validator::isDate($dateTo, 'Y-m-d', '$date_to'); + } + if ($action == 'search' || $action == 'to_reassign') { $userUid = ($user == "CURRENT_USER") ? $userUid : $user; if ($first) { @@ -139,13 +188,19 @@ class Cases } else { $result['total'] = $result['totalCount']; unset($result['totalCount']); - - $result['start'] = $start; + $result['start'] = $start+1; $result['limit'] = $limit; - $result['sort'] = $sort; - $result['category'] = $category; - $result['process'] = $process; + $result['sort'] = G::toLower($sort); + $result['dir'] = G::toLower($dir); + $result['cat_uid'] = $category; + $result['pro_uid'] = $process; $result['search'] = $search; + if ($action == 'search') { + $result['app_status'] = G::toLower($status); + $result['usr_uid'] = $user; + $result['date_from'] = $dateFrom; + $result['date_to'] = $dateTo; + } } return $result; } diff --git a/workflow/engine/src/Services/Api/ProcessMaker/Cases.php b/workflow/engine/src/Services/Api/ProcessMaker/Cases.php index 03a0389ed..822c4e5af 100644 --- a/workflow/engine/src/Services/Api/ProcessMaker/Cases.php +++ b/workflow/engine/src/Services/Api/ProcessMaker/Cases.php @@ -22,8 +22,8 @@ class Cases extends Api * @param string $start {@from path} * @param string $limit {@from path} * @param string $dir {@from path} - * @param string $category {@from path} - * @param string $process {@from path} + * @param string $cat_uid {@from path} + * @param string $pro_uid {@from path} * @param string $search {@from path} * @return array * @@ -37,8 +37,8 @@ class Cases extends Api $limit = 25, $sort = 'APP_CACHE_VIEW.APP_NUMBER', $dir = 'DESC', - $category = '', - $process = '', + $cat_uid = '', + $pro_uid = '', $search = '' ) { @@ -51,8 +51,8 @@ class Cases extends Api $dataList['limit'] = $limit; $dataList['sort'] = $sort; $dataList['dir'] = $dir; - $dataList['category'] = $category; - $dataList['process'] = $process; + $dataList['category'] = $cat_uid; + $dataList['process'] = $pro_uid; $dataList['search'] = $search; $oCases = new \BusinessModel\Cases(); $response = $oCases->getList($dataList); @@ -69,8 +69,8 @@ class Cases extends Api * @param string $start {@from path} * @param string $limit {@from path} * @param string $dir {@from path} - * @param string $category {@from path} - * @param string $process {@from path} + * @param string $cat_uid {@from path} + * @param string $pro_uid {@from path} * @param string $search {@from path} * @return array * @@ -84,8 +84,8 @@ class Cases extends Api $limit = 25, $sort = 'APP_CACHE_VIEW.APP_NUMBER', $dir = 'DESC', - $category = '', - $process = '', + $cat_uid = '', + $pro_uid = '', $search = '' ) { @@ -98,8 +98,8 @@ class Cases extends Api $dataList['limit'] = $limit; $dataList['sort'] = $sort; $dataList['dir'] = $dir; - $dataList['category'] = $category; - $dataList['process'] = $process; + $dataList['category'] = $cat_uid; + $dataList['process'] = $pro_uid; $dataList['search'] = $search; $oCases = new \BusinessModel\Cases(); $response = $oCases->getList($dataList); @@ -116,8 +116,8 @@ class Cases extends Api * @param string $start {@from path} * @param string $limit {@from path} * @param string $dir {@from path} - * @param string $category {@from path} - * @param string $process {@from path} + * @param string $cat_uid {@from path} + * @param string $pro_uid {@from path} * @param string $search {@from path} * @return array * @@ -131,8 +131,8 @@ class Cases extends Api $limit = 25, $sort = 'APP_CACHE_VIEW.APP_NUMBER', $dir = 'DESC', - $category = '', - $process = '', + $cat_uid = '', + $pro_uid = '', $search = '' ) { @@ -145,8 +145,8 @@ class Cases extends Api $dataList['limit'] = $limit; $dataList['sort'] = $sort; $dataList['dir'] = $dir; - $dataList['category'] = $category; - $dataList['process'] = $process; + $dataList['category'] = $cat_uid; + $dataList['process'] = $pro_uid; $dataList['search'] = $search; $oCases = new \BusinessModel\Cases(); $response = $oCases->getList($dataList); @@ -163,8 +163,8 @@ class Cases extends Api * @param string $start {@from path} * @param string $limit {@from path} * @param string $dir {@from path} - * @param string $category {@from path} - * @param string $process {@from path} + * @param string $cat_uid {@from path} + * @param string $pro_uid {@from path} * @param string $search {@from path} * @return array * @@ -178,8 +178,8 @@ class Cases extends Api $limit = 25, $sort = 'APP_CACHE_VIEW.APP_NUMBER', $dir = 'DESC', - $category = '', - $process = '', + $cat_uid = '', + $pro_uid = '', $search = '' ) { @@ -192,8 +192,8 @@ class Cases extends Api $dataList['limit'] = $limit; $dataList['sort'] = $sort; $dataList['dir'] = $dir; - $dataList['category'] = $category; - $dataList['process'] = $process; + $dataList['category'] = $cat_uid; + $dataList['process'] = $pro_uid; $dataList['search'] = $search; $oCases = new \BusinessModel\Cases(); $response = $oCases->getList($dataList); @@ -210,8 +210,8 @@ class Cases extends Api * @param string $start {@from path} * @param string $limit {@from path} * @param string $dir {@from path} - * @param string $category {@from path} - * @param string $process {@from path} + * @param string $cat_uid {@from path} + * @param string $pro_uid {@from path} * @param string $search {@from path} * @return array * @@ -225,8 +225,8 @@ class Cases extends Api $limit = 25, $sort = 'APP_CACHE_VIEW.APP_NUMBER', $dir = 'DESC', - $category = '', - $process = '', + $cat_uid = '', + $pro_uid = '', $search = '' ) { @@ -239,8 +239,8 @@ class Cases extends Api $dataList['limit'] = $limit; $dataList['sort'] = $sort; $dataList['dir'] = $dir; - $dataList['category'] = $category; - $dataList['process'] = $process; + $dataList['category'] = $cat_uid; + $dataList['process'] = $pro_uid; $dataList['search'] = $search; $oCases = new \BusinessModel\Cases(); $response = $oCases->getList($dataList); @@ -257,8 +257,8 @@ class Cases extends Api * @param string $start {@from path} * @param string $limit {@from path} * @param string $dir {@from path} - * @param string $category {@from path} - * @param string $process {@from path} + * @param string $cat_uid {@from path} + * @param string $pro_uid {@from path} * @param string $search {@from path} * @return array * @@ -272,8 +272,8 @@ class Cases extends Api $limit = 25, $sort = 'APP_CACHE_VIEW.APP_NUMBER', $dir = 'DESC', - $category = '', - $process = '', + $cat_uid = '', + $pro_uid = '', $search = '' ) { @@ -286,8 +286,8 @@ class Cases extends Api $dataList['limit'] = $limit; $dataList['sort'] = $sort; $dataList['dir'] = $dir; - $dataList['category'] = $category; - $dataList['process'] = $process; + $dataList['category'] = $cat_uid; + $dataList['process'] = $pro_uid; $dataList['search'] = $search; $oCases = new \BusinessModel\Cases(); $response = $oCases->getList($dataList); @@ -304,8 +304,8 @@ class Cases extends Api * @param string $start {@from path} * @param string $limit {@from path} * @param string $dir {@from path} - * @param string $category {@from path} - * @param string $process {@from path} + * @param string $cat_uid {@from path} + * @param string $pro_uid {@from path} * @param string $search {@from path} * @return array * @@ -319,8 +319,8 @@ class Cases extends Api $limit = 25, $sort = 'APP_CACHE_VIEW.APP_NUMBER', $dir = 'DESC', - $category = '', - $process = '', + $cat_uid = '', + $pro_uid = '', $search = '' ) { @@ -333,8 +333,8 @@ class Cases extends Api $dataList['limit'] = $limit; $dataList['sort'] = $sort; $dataList['dir'] = $dir; - $dataList['category'] = $category; - $dataList['process'] = $process; + $dataList['category'] = $cat_uid; + $dataList['process'] = $pro_uid; $dataList['search'] = $search; $oCases = new \BusinessModel\Cases(); $response = $oCases->getList($dataList); @@ -351,8 +351,8 @@ class Cases extends Api * @param string $start {@from path} * @param string $limit {@from path} * @param string $dir {@from path} - * @param string $category {@from path} - * @param string $process {@from path} + * @param string $cat_uid {@from path} + * @param string $pro_uid {@from path} * @param string $search {@from path} * @return array * @@ -366,8 +366,8 @@ class Cases extends Api $limit = 25, $sort = 'APP_CACHE_VIEW.APP_NUMBER', $dir = 'DESC', - $category = '', - $process = '', + $cat_uid = '', + $pro_uid = '', $search = '' ) { @@ -380,8 +380,8 @@ class Cases extends Api $dataList['limit'] = $limit; $dataList['sort'] = $sort; $dataList['dir'] = $dir; - $dataList['category'] = $category; - $dataList['process'] = $process; + $dataList['category'] = $cat_uid; + $dataList['process'] = $pro_uid; $dataList['search'] = $search; $oCases = new \BusinessModel\Cases(); $response = $oCases->getList($dataList); @@ -398,8 +398,8 @@ class Cases extends Api * @param string $start {@from path} * @param string $limit {@from path} * @param string $dir {@from path} - * @param string $category {@from path} - * @param string $process {@from path} + * @param string $cat_uid {@from path} + * @param string $pro_uid {@from path} * @param string $search {@from path} * @return array * @@ -413,8 +413,8 @@ class Cases extends Api $limit = 25, $sort = 'APP_CACHE_VIEW.APP_NUMBER', $dir = 'DESC', - $category = '', - $process = '', + $cat_uid = '', + $pro_uid = '', $search = '' ) { @@ -427,8 +427,8 @@ class Cases extends Api $dataList['limit'] = $limit; $dataList['sort'] = $sort; $dataList['dir'] = $dir; - $dataList['category'] = $category; - $dataList['process'] = $process; + $dataList['category'] = $cat_uid; + $dataList['process'] = $pro_uid; $dataList['search'] = $search; $oCases = new \BusinessModel\Cases(); $response = $oCases->getList($dataList); @@ -445,8 +445,8 @@ class Cases extends Api * @param string $start {@from path} * @param string $limit {@from path} * @param string $dir {@from path} - * @param string $category {@from path} - * @param string $process {@from path} + * @param string $cat_uid {@from path} + * @param string $pro_uid {@from path} * @param string $search {@from path} * @return array * @@ -460,8 +460,8 @@ class Cases extends Api $limit = 25, $sort = 'APP_CACHE_VIEW.APP_NUMBER', $dir = 'DESC', - $category = '', - $process = '', + $cat_uid = '', + $pro_uid = '', $search = '' ) { @@ -474,8 +474,8 @@ class Cases extends Api $dataList['limit'] = $limit; $dataList['sort'] = $sort; $dataList['dir'] = $dir; - $dataList['category'] = $category; - $dataList['process'] = $process; + $dataList['category'] = $cat_uid; + $dataList['process'] = $pro_uid; $dataList['search'] = $search; $oCases = new \BusinessModel\Cases(); $response = $oCases->getList($dataList); @@ -492,9 +492,9 @@ class Cases extends Api * @param string $start {@from path} * @param string $limit {@from path} * @param string $dir {@from path} - * @param string $category {@from path} - * @param string $process {@from path} - * @param string $status {@from path} + * @param string $cat_uid {@from path} + * @param string $pro_uid {@from path} + * @param string $app_status {@from path} * @param string $user {@from path} * @param string $dateFrom {@from path} * @param string $dateTo {@from path} @@ -511,9 +511,9 @@ class Cases extends Api $limit = 25, $sort = 'APP_CACHE_VIEW.APP_NUMBER', $dir = 'DESC', - $category = '', - $process = '', - $status = '', + $cat_uid = '', + $pro_uid = '', + $app_status = '', $user = '', $dateFrom = '', $dateTo = '', @@ -529,9 +529,9 @@ class Cases extends Api $dataList['limit'] = $limit; $dataList['sort'] = $sort; $dataList['dir'] = $dir; - $dataList['category'] = $category; - $dataList['process'] = $process; - $dataList['status'] = $status; + $dataList['category'] = $cat_uid; + $dataList['process'] = $pro_uid; + $dataList['status'] = $app_status; $dataList['user'] = $user; $dataList['dateFrom'] = $dateFrom; $dataList['dateTo'] = $dateTo; @@ -551,10 +551,10 @@ class Cases extends Api * @param string $start {@from path} * @param string $limit {@from path} * @param string $dir {@from path} - * @param string $category {@from path} - * @param string $process {@from path} - * @param string $status {@from path} - * @param string $user {@from path} + * @param string $cat_uid {@from path} + * @param string $pro_uid {@from path} + * @param string $app_status {@from path} + * @param string $usr_uid {@from path} * @param string $dateFrom {@from path} * @param string $dateTo {@from path} * @param string $search {@from path} @@ -567,15 +567,15 @@ class Cases extends Api */ public function doGetCasesListAdvancedSearchPaged( $start = 0, - $limit = 25, + $limit = 'config', $sort = 'APP_CACHE_VIEW.APP_NUMBER', $dir = 'DESC', - $category = '', - $process = '', - $status = '', - $user = '', - $dateFrom = '', - $dateTo = '', + $cat_uid = '', + $pro_uid = '', + $app_status = '', + $usr_uid = '', + $date_from = '', + $date_to = '', $search = '' ) { @@ -588,12 +588,12 @@ class Cases extends Api $dataList['limit'] = $limit; $dataList['sort'] = $sort; $dataList['dir'] = $dir; - $dataList['category'] = $category; - $dataList['process'] = $process; - $dataList['status'] = $status; - $dataList['user'] = $user; - $dataList['dateFrom'] = $dateFrom; - $dataList['dateTo'] = $dateTo; + $dataList['category'] = $cat_uid; + $dataList['process'] = $pro_uid; + $dataList['status'] = $app_status; + $dataList['user'] = $usr_uid; + $dataList['dateFrom'] = $date_from; + $dataList['dateTo'] = $date_to; $dataList['search'] = $search; $oCases = new \BusinessModel\Cases(); $response = $oCases->getList($dataList);