diff --git a/workflow/engine/classes/model/ListInbox.php b/workflow/engine/classes/model/ListInbox.php index ef76146f8..45b77ad51 100644 --- a/workflow/engine/classes/model/ListInbox.php +++ b/workflow/engine/classes/model/ListInbox.php @@ -394,17 +394,18 @@ class ListInbox extends BaseListInbox */ public function loadFilters(&$criteria, $filters, $additionalColumns = array()) { - $action = isset($filters['action']) ? $filters['action'] : ""; - $usrUid = isset($filters['usr_uid']) ? $filters['usr_uid'] : ""; - $filter = isset($filters['filter']) ? $filters['filter'] : ""; - $search = isset($filters['search']) ? $filters['search'] : ""; - $process = isset($filters['process']) ? $filters['process'] : ""; - $category = isset($filters['category']) ? $filters['category'] : ""; - $dateFrom = isset($filters['dateFrom']) ? $filters['dateFrom'] : ""; - $dateTo = isset($filters['dateTo']) ? $filters['dateTo'] : ""; - $filterStatus = isset($filters['filterStatus']) ? $filters['filterStatus'] : ""; - $newestthan = isset($filters['newestthan']) ? $filters['newestthan'] : ''; - $oldestthan = isset($filters['oldestthan']) ? $filters['oldestthan'] : ''; + $action = isset($filters['action']) ? $filters['action'] : ''; + $usrUid = isset($filters['usr_uid']) ? $filters['usr_uid'] : ''; + $filter = isset($filters['filter']) ? $filters['filter'] : ''; + $search = isset($filters['search']) ? $filters['search'] : ''; + $caseLink = isset($filters['caseLink']) ? $filters['caseLink'] : ''; + $process = isset($filters['process']) ? $filters['process'] : ''; + $category = isset($filters['category']) ? $filters['category'] : ''; + $dateFrom = isset($filters['dateFrom']) ? $filters['dateFrom'] : ''; + $dateTo = isset($filters['dateTo']) ? $filters['dateTo'] : ''; + $filterStatus = isset($filters['filterStatus']) ? $filters['filterStatus'] : ''; + $newestthan = isset($filters['newestthan']) ? $filters['newestthan'] : ''; + $oldestthan = isset($filters['oldestthan']) ? $filters['oldestthan'] : ''; //Check the inbox to call switch ($action) { @@ -471,54 +472,40 @@ class ListInbox extends BaseListInbox //Filter Search if ($search != '') { - $oTmpCriteria = ''; - //If we have additional tables configured in the custom cases list, prepare the variables for search - if (count($additionalColumns) > 0) { - require_once(PATH_DATA_SITE . 'classes' . PATH_SEP . $this->additionalClassName . '.php'); - $oNewCriteria = new Criteria("workflow"); - $oTmpCriteria = $oNewCriteria->getNewCriterion(current($additionalColumns), "%" . $search . "%", Criteria::LIKE); - - //We prepare the query related to the custom cases list - foreach (array_slice($additionalColumns, 1) as $value) { - $oTmpCriteria = $oNewCriteria->getNewCriterion($value, "%" . $search . "%", Criteria::LIKE)->addOr($oTmpCriteria); - } - } - - if (!empty($oTmpCriteria)) { - $criteria->add( - $criteria->getNewCriterion(ListInboxPeer::APP_TITLE, '%' . $search . '%', Criteria::LIKE) - ->addOr( - $criteria->getNewCriterion(ListInboxPeer::APP_TAS_TITLE, '%' . $search . '%', Criteria::LIKE) - ->addOr( - $criteria->getNewCriterion(ListInboxPeer::APP_PRO_TITLE, '%' . $search . '%', Criteria::LIKE) - ->addOr( - $criteria->getNewCriterion(ListInboxPeer::APP_UID, $search, Criteria::EQUAL) - ->addOr( - $criteria->getNewCriterion(ListInboxPeer::APP_NUMBER, $search, Criteria::EQUAL) - ->addOr( - $oTmpCriteria - ) - ) - ) - ) - ) - ); + //Check if we need to search to the APP_UID + if (!empty($caseLink)) { + $criteria->add(ListInboxPeer::APP_UID, $search, Criteria::EQUAL); } else { - $criteria->add( - $criteria->getNewCriterion(ListInboxPeer::APP_TITLE, '%' . $search . '%', Criteria::LIKE) - ->addOr( - $criteria->getNewCriterion(ListInboxPeer::APP_TAS_TITLE, '%' . $search . '%', Criteria::LIKE) - ->addOr( - $criteria->getNewCriterion(ListInboxPeer::APP_PRO_TITLE, '%' . $search . '%', Criteria::LIKE) - ->addOr( - $criteria->getNewCriterion(ListInboxPeer::APP_UID, $search, Criteria::EQUAL) - ->addOr( - $criteria->getNewCriterion(ListInboxPeer::APP_NUMBER, $search, Criteria::EQUAL) - ) - ) - ) - ) - ); + $oTmpCriteria = ''; + //If we have additional tables configured in the custom cases list, prepare the variables for search + if (count($additionalColumns) > 0) { + require_once(PATH_DATA_SITE . 'classes' . PATH_SEP . $this->additionalClassName . '.php'); + $oNewCriteria = new Criteria("workflow"); + $oTmpCriteria = $oNewCriteria->getNewCriterion(current($additionalColumns), "%" . $search . "%", Criteria::LIKE); + + //We prepare the query related to the custom cases list + foreach (array_slice($additionalColumns, 1) as $value) { + $oTmpCriteria = $oNewCriteria->getNewCriterion($value, "%" . $search . "%", Criteria::LIKE)->addOr($oTmpCriteria); + } + } + + if (!empty($oTmpCriteria)) { + $criteria->add( + $criteria->getNewCriterion(ListInboxPeer::APP_TITLE, '%' . $search . '%', Criteria::LIKE)->addOr( + $criteria->getNewCriterion(ListInboxPeer::APP_TAS_TITLE, '%' . $search . '%', Criteria::LIKE)->addOr( + $criteria->getNewCriterion(ListInboxPeer::APP_PRO_TITLE, '%' . $search . '%', Criteria::LIKE)->addOr( + $criteria->getNewCriterion(ListInboxPeer::APP_NUMBER, $search, Criteria::EQUAL)->addOr( + $oTmpCriteria + )))) + ); + } else { + $criteria->add( + $criteria->getNewCriterion(ListInboxPeer::APP_TITLE, '%' . $search . '%', Criteria::LIKE)->addOr( + $criteria->getNewCriterion(ListInboxPeer::APP_TAS_TITLE, '%' . $search . '%', Criteria::LIKE)->addOr( + $criteria->getNewCriterion(ListInboxPeer::APP_PRO_TITLE, '%' . $search . '%', Criteria::LIKE)->addOr( + $criteria->getNewCriterion(ListInboxPeer::APP_NUMBER, $search, Criteria::EQUAL)))) + ); + } } } diff --git a/workflow/engine/classes/model/ListParticipatedLast.php b/workflow/engine/classes/model/ListParticipatedLast.php index 03d6091ac..5a445f72a 100644 --- a/workflow/engine/classes/model/ListParticipatedLast.php +++ b/workflow/engine/classes/model/ListParticipatedLast.php @@ -246,6 +246,7 @@ class ListParticipatedLast extends BaseListParticipatedLast { $filter = isset($filters['filter']) ? $filters['filter'] : ''; $search = isset($filters['search']) ? $filters['search'] : ''; + $caseLink = isset($filters['caseLink']) ? $filters['caseLink'] : ''; $process = isset($filters['process']) ? $filters['process'] : ''; $category = isset($filters['category']) ? $filters['category'] : ''; $dateFrom = isset($filters['dateFrom']) ? $filters['dateFrom'] : ''; @@ -281,48 +282,39 @@ class ListParticipatedLast extends BaseListParticipatedLast //Filter Search if ($search != '') { - //If we have additional tables configured in the custom cases list, prepare the variables for search - if (count($additionalColumns) > 0) { - require_once(PATH_DATA_SITE . 'classes' . PATH_SEP . $this->additionalClassName . '.php'); - $oNewCriteria = new Criteria("workflow"); - $oTmpCriteria = $oNewCriteria->getNewCriterion(current($additionalColumns), "%" . $search . "%", Criteria::LIKE); - - //We prepare the query related to the custom cases list - foreach (array_slice($additionalColumns, 1) as $value) { - $oTmpCriteria = $oNewCriteria->getNewCriterion($value, "%" . $search . "%", Criteria::LIKE)->addOr($oTmpCriteria); - } - } - - if (!empty($oTmpCriteria)) { - $criteria->add( - $criteria->getNewCriterion(ListParticipatedLastPeer::APP_TITLE, '%' . $search . '%', Criteria::LIKE) - ->addOr( - $criteria->getNewCriterion(ListParticipatedLastPeer::APP_TAS_TITLE, '%' . $search . '%', Criteria::LIKE) - ->addOr( - $criteria->getNewCriterion(ListParticipatedLastPeer::APP_UID, $search, Criteria::EQUAL) - ->addOr( - $criteria->getNewCriterion(ListParticipatedLastPeer::APP_NUMBER, $search, Criteria::EQUAL) - ->addOr( - $oTmpCriteria - ) - ) - - ) - ) - ); + //Check if we need to search to the APP_UID + if (!empty($caseLink)) { + $criteria->add(ListParticipatedLastPeer::APP_UID, $search, Criteria::EQUAL); } else { - $criteria->add( - $criteria->getNewCriterion(ListParticipatedLastPeer::APP_TITLE, '%' . $search . '%', Criteria::LIKE) - ->addOr( - $criteria->getNewCriterion(ListParticipatedLastPeer::APP_TAS_TITLE, '%' . $search . '%', Criteria::LIKE) - ->addOr( - $criteria->getNewCriterion(ListParticipatedLastPeer::APP_UID, $search, Criteria::EQUAL) - ->addOr( - $criteria->getNewCriterion(ListParticipatedLastPeer::APP_NUMBER, $search, Criteria::EQUAL) - ) - ) - ) - ); + //If we have additional tables configured in the custom cases list, prepare the variables for search + if (count($additionalColumns) > 0) { + require_once(PATH_DATA_SITE . 'classes' . PATH_SEP . $this->additionalClassName . '.php'); + $oNewCriteria = new Criteria("workflow"); + $oTmpCriteria = $oNewCriteria->getNewCriterion(current($additionalColumns), "%" . $search . "%", Criteria::LIKE); + + //We prepare the query related to the custom cases list + foreach (array_slice($additionalColumns, 1) as $value) { + $oTmpCriteria = $oNewCriteria->getNewCriterion($value, "%" . $search . "%", Criteria::LIKE)->addOr($oTmpCriteria); + } + } + + if (!empty($oTmpCriteria)) { + $criteria->add( + $criteria->getNewCriterion(ListParticipatedLastPeer::APP_TITLE, '%' . $search . '%', Criteria::LIKE)->addOr( + $criteria->getNewCriterion(ListParticipatedLastPeer::APP_TAS_TITLE, '%' . $search . '%', Criteria::LIKE)->addOr( + $criteria->getNewCriterion(ListParticipatedLastPeer::APP_PRO_TITLE, '%' . $search . '%', Criteria::LIKE)->addOr( + $criteria->getNewCriterion(ListParticipatedLastPeer::APP_NUMBER, $search, Criteria::EQUAL)->addOr( + $oTmpCriteria + )))) + ); + } else { + $criteria->add( + $criteria->getNewCriterion(ListParticipatedLastPeer::APP_TITLE, '%' . $search . '%', Criteria::LIKE)->addOr( + $criteria->getNewCriterion(ListParticipatedLastPeer::APP_TAS_TITLE, '%' . $search . '%', Criteria::LIKE)->addOr( + $criteria->getNewCriterion(ListParticipatedLastPeer::APP_PRO_TITLE, '%' . $search . '%', Criteria::LIKE)->addOr( + $criteria->getNewCriterion(ListParticipatedLastPeer::APP_NUMBER, $search, Criteria::EQUAL)))) + ); + } } } diff --git a/workflow/engine/classes/model/ListPaused.php b/workflow/engine/classes/model/ListPaused.php index 5125d1df2..b8a0b2365 100644 --- a/workflow/engine/classes/model/ListPaused.php +++ b/workflow/engine/classes/model/ListPaused.php @@ -222,11 +222,12 @@ class ListPaused extends BaseListPaused */ public function loadFilters(&$criteria, $filters, $additionalColumns = array()) { - $filter = isset($filters['filter']) ? $filters['filter'] : ""; - $search = isset($filters['search']) ? $filters['search'] : ""; - $process = isset($filters['process']) ? $filters['process'] : ""; - $category = isset($filters['category']) ? $filters['category'] : ""; - $filterStatus = isset($filters['filterStatus']) ? $filters['filterStatus'] : ""; + $filter = isset($filters['filter']) ? $filters['filter'] : ''; + $search = isset($filters['search']) ? $filters['search'] : ''; + $caseLink = isset($filters['caseLink']) ? $filters['caseLink'] : ''; + $process = isset($filters['process']) ? $filters['process'] : ''; + $category = isset($filters['category']) ? $filters['category'] : ''; + $filterStatus = isset($filters['filterStatus']) ? $filters['filterStatus'] : ''; //Filter Read Unread All switch ($filter) { @@ -240,48 +241,39 @@ class ListPaused extends BaseListPaused //Filter Search if ($search != '') { - //If we have additional tables configured in the custom cases list, prepare the variables for search - if (count($additionalColumns) > 0) { - require_once(PATH_DATA_SITE . 'classes' . PATH_SEP . $this->additionalClassName . '.php'); - $oNewCriteria = new Criteria("workflow"); - $oTmpCriteria = $oNewCriteria->getNewCriterion(current($additionalColumns), "%" . $search . "%", Criteria::LIKE); - - //We prepare the query related to the custom cases list - foreach (array_slice($additionalColumns, 1) as $value) { - $oTmpCriteria = $oNewCriteria->getNewCriterion($value, "%" . $search . "%", Criteria::LIKE)->addOr($oTmpCriteria); - } - } - - if (!empty($oTmpCriteria)) { - $criteria->add( - $criteria->getNewCriterion(ListPausedPeer::APP_TITLE, '%' . $search . '%', Criteria::LIKE) - ->addOr( - $criteria->getNewCriterion(ListPausedPeer::APP_TAS_TITLE, '%' . $search . '%', Criteria::LIKE) - ->addOr( - $criteria->getNewCriterion(ListPausedPeer::APP_UID, $search, Criteria::EQUAL) - ->addOr( - $criteria->getNewCriterion(ListPausedPeer::APP_NUMBER, $search, Criteria::EQUAL) - ->addOr( - $oTmpCriteria - ) - ) - - ) - ) - ); + //Check if we need to search to the APP_UID + if (!empty($caseLink)) { + $criteria->add(ListPausedPeer::APP_UID, $search, Criteria::EQUAL); } else { - $criteria->add( - $criteria->getNewCriterion(ListPausedPeer::APP_TITLE, '%' . $search . '%', Criteria::LIKE) - ->addOr( - $criteria->getNewCriterion(ListPausedPeer::APP_TAS_TITLE, '%' . $search . '%', Criteria::LIKE) - ->addOr( - $criteria->getNewCriterion(ListPausedPeer::APP_UID, $search, Criteria::EQUAL) - ->addOr( - $criteria->getNewCriterion(ListPausedPeer::APP_NUMBER, $search, Criteria::EQUAL) - ) - ) - ) - ); + //If we have additional tables configured in the custom cases list, prepare the variables for search + if (count($additionalColumns) > 0) { + require_once(PATH_DATA_SITE . 'classes' . PATH_SEP . $this->additionalClassName . '.php'); + $oNewCriteria = new Criteria("workflow"); + $oTmpCriteria = $oNewCriteria->getNewCriterion(current($additionalColumns), "%" . $search . "%", Criteria::LIKE); + + //We prepare the query related to the custom cases list + foreach (array_slice($additionalColumns, 1) as $value) { + $oTmpCriteria = $oNewCriteria->getNewCriterion($value, "%" . $search . "%", Criteria::LIKE)->addOr($oTmpCriteria); + } + } + + if (!empty($oTmpCriteria)) { + $criteria->add( + $criteria->getNewCriterion(ListPausedPeer::APP_TITLE, '%' . $search . '%', Criteria::LIKE)->addOr( + $criteria->getNewCriterion(ListPausedPeer::APP_TAS_TITLE, '%' . $search . '%', Criteria::LIKE)->addOr( + $criteria->getNewCriterion(ListPausedPeer::APP_PRO_TITLE, '%' . $search . '%', Criteria::LIKE)->addOr( + $criteria->getNewCriterion(ListPausedPeer::APP_NUMBER, $search, Criteria::EQUAL)->addOr( + $oTmpCriteria + )))) + ); + } else { + $criteria->add( + $criteria->getNewCriterion(ListPausedPeer::APP_TITLE, '%' . $search . '%', Criteria::LIKE)->addOr( + $criteria->getNewCriterion(ListPausedPeer::APP_TAS_TITLE, '%' . $search . '%', Criteria::LIKE)->addOr( + $criteria->getNewCriterion(ListPausedPeer::APP_PRO_TITLE, '%' . $search . '%', Criteria::LIKE)->addOr( + $criteria->getNewCriterion(ListPausedPeer::APP_NUMBER, $search, Criteria::EQUAL)))) + ); + } } } diff --git a/workflow/engine/classes/model/ListUnassigned.php b/workflow/engine/classes/model/ListUnassigned.php index 6dc504e58..8ce590486 100644 --- a/workflow/engine/classes/model/ListUnassigned.php +++ b/workflow/engine/classes/model/ListUnassigned.php @@ -175,57 +175,49 @@ class ListUnassigned extends BaseListUnassigned */ public function loadFilters(&$criteria, $filters, $additionalColumns = array()) { - $filter = isset($filters['filter']) ? $filters['filter'] : ""; - $search = isset($filters['search']) ? $filters['search'] : ""; - $process = isset($filters['process']) ? $filters['process'] : ""; - $category = isset($filters['category']) ? $filters['category'] : ""; - $dateFrom = isset($filters['dateFrom']) ? $filters['dateFrom'] : ""; - $dateTo = isset($filters['dateTo']) ? $filters['dateTo'] : ""; + $filter = isset($filters['filter']) ? $filters['filter'] : ''; + $search = isset($filters['search']) ? $filters['search'] : ''; + $caseLink = isset($filters['caseLink']) ? $filters['caseLink'] : ''; + $process = isset($filters['process']) ? $filters['process'] : ''; + $category = isset($filters['category']) ? $filters['category'] : ''; + $dateFrom = isset($filters['dateFrom']) ? $filters['dateFrom'] : ''; + $dateTo = isset($filters['dateTo']) ? $filters['dateTo'] : ''; //Filter Search if ($search != '') { - //If we have additional tables configured in the custom cases list, prepare the variables for search - if (count($additionalColumns) > 0) { - require_once(PATH_DATA_SITE . 'classes' . PATH_SEP . $this->additionalClassName . '.php'); - $oNewCriteria = new Criteria("workflow"); - $oTmpCriteria = $oNewCriteria->getNewCriterion(current($additionalColumns), "%" . $search . "%", Criteria::LIKE); - - //We prepare the query related to the custom cases list - foreach (array_slice($additionalColumns, 1) as $value) { - $oTmpCriteria = $oNewCriteria->getNewCriterion($value, "%" . $search . "%", Criteria::LIKE)->addOr($oTmpCriteria); - } - } - - if (!empty($oTmpCriteria)) { - $criteria->add( - $criteria->getNewCriterion(ListUnassignedPeer::APP_TITLE, '%' . $search . '%', Criteria::LIKE) - ->addOr( - $criteria->getNewCriterion(ListUnassignedPeer::APP_TAS_TITLE, '%' . $search . '%', Criteria::LIKE) - ->addOr( - $criteria->getNewCriterion(ListUnassignedPeer::APP_UID, $search, Criteria::EQUAL) - ->addOr( - $criteria->getNewCriterion(ListUnassignedPeer::APP_NUMBER, $search, Criteria::EQUAL) - ->addOr( - $oTmpCriteria - ) - ) - - ) - ) - ); + //Check if we need to search to the APP_UID + if (!empty($caseLink)) { + $criteria->add(ListUnassignedPeer::APP_UID, $search, Criteria::EQUAL); } else { - $criteria->add( - $criteria->getNewCriterion(ListUnassignedPeer::APP_TITLE, '%' . $search . '%', Criteria::LIKE) - ->addOr( - $criteria->getNewCriterion(ListUnassignedPeer::APP_TAS_TITLE, '%' . $search . '%', Criteria::LIKE) - ->addOr( - $criteria->getNewCriterion(ListUnassignedPeer::APP_UID, $search, Criteria::EQUAL) - ->addOr( - $criteria->getNewCriterion(ListUnassignedPeer::APP_NUMBER, $search, Criteria::EQUAL) - ) - ) - ) - ); + //If we have additional tables configured in the custom cases list, prepare the variables for search + if (count($additionalColumns) > 0) { + require_once(PATH_DATA_SITE . 'classes' . PATH_SEP . $this->additionalClassName . '.php'); + $oNewCriteria = new Criteria("workflow"); + $oTmpCriteria = $oNewCriteria->getNewCriterion(current($additionalColumns), "%" . $search . "%", Criteria::LIKE); + + //We prepare the query related to the custom cases list + foreach (array_slice($additionalColumns, 1) as $value) { + $oTmpCriteria = $oNewCriteria->getNewCriterion($value, "%" . $search . "%", Criteria::LIKE)->addOr($oTmpCriteria); + } + } + + if (!empty($oTmpCriteria)) { + $criteria->add( + $criteria->getNewCriterion(ListUnassignedPeer::APP_TITLE, '%' . $search . '%', Criteria::LIKE)->addOr( + $criteria->getNewCriterion(ListUnassignedPeer::APP_TAS_TITLE, '%' . $search . '%', Criteria::LIKE)->addOr( + $criteria->getNewCriterion(ListUnassignedPeer::APP_PRO_TITLE, '%' . $search . '%', Criteria::LIKE)->addOr( + $criteria->getNewCriterion(ListUnassignedPeer::APP_NUMBER, $search, Criteria::EQUAL)->addOr( + $oTmpCriteria + )))) + ); + } else { + $criteria->add( + $criteria->getNewCriterion(ListUnassignedPeer::APP_TITLE, '%' . $search . '%', Criteria::LIKE)->addOr( + $criteria->getNewCriterion(ListUnassignedPeer::APP_TAS_TITLE, '%' . $search . '%', Criteria::LIKE)->addOr( + $criteria->getNewCriterion(ListUnassignedPeer::APP_PRO_TITLE, '%' . $search . '%', Criteria::LIKE)->addOr( + $criteria->getNewCriterion(ListUnassignedPeer::APP_NUMBER, $search, Criteria::EQUAL)))) + ); + } } }