Review the filters
This commit is contained in:
@@ -334,7 +334,7 @@ class ListInbox extends BaseListInbox
|
|||||||
self::create($data, $isSelfService);
|
self::create($data, $isSelfService);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function loadFilters (&$criteria, $filters)
|
public function loadFilters (&$criteria, $filters)
|
||||||
{
|
{
|
||||||
$action = isset($filters['action']) ? $filters['action'] : "";
|
$action = isset($filters['action']) ? $filters['action'] : "";
|
||||||
$usrUid = isset($filters['usr_uid']) ? $filters['usr_uid'] : "";
|
$usrUid = isset($filters['usr_uid']) ? $filters['usr_uid'] : "";
|
||||||
@@ -348,6 +348,7 @@ class ListInbox extends BaseListInbox
|
|||||||
$newestthan = isset($filters['newestthan'] ) ? $filters['newestthan'] : '';
|
$newestthan = isset($filters['newestthan'] ) ? $filters['newestthan'] : '';
|
||||||
$oldestthan = isset($filters['oldestthan'] ) ? $filters['oldestthan'] : '';
|
$oldestthan = isset($filters['oldestthan'] ) ? $filters['oldestthan'] : '';
|
||||||
|
|
||||||
|
//Check the inbox to call
|
||||||
switch ($action) {
|
switch ($action) {
|
||||||
case 'draft':
|
case 'draft':
|
||||||
$criteria->add( ListInboxPeer::APP_STATUS, 'DRAFT', Criteria::EQUAL );
|
$criteria->add( ListInboxPeer::APP_STATUS, 'DRAFT', Criteria::EQUAL );
|
||||||
@@ -371,6 +372,7 @@ class ListInbox extends BaseListInbox
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//Filter Read Unread All
|
||||||
switch ($filter) {
|
switch ($filter) {
|
||||||
case 'read':
|
case 'read':
|
||||||
$criteria->add( ListInboxPeer::DEL_INIT_DATE, NULL, Criteria::ISNOTNULL );
|
$criteria->add( ListInboxPeer::DEL_INIT_DATE, NULL, Criteria::ISNOTNULL );
|
||||||
@@ -380,29 +382,7 @@ class ListInbox extends BaseListInbox
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($search != '') {
|
//Filter Task Status
|
||||||
$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)
|
|
||||||
)))));
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($process != '') {
|
|
||||||
$criteria->add( ListInboxPeer::PRO_UID, $process, Criteria::EQUAL);
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($category != '') {
|
|
||||||
// INNER JOIN FOR TAS_TITLE
|
|
||||||
$criteria->addSelectColumn(ProcessPeer::PRO_CATEGORY);
|
|
||||||
$aConditions = array();
|
|
||||||
$aConditions[] = array(ListInboxPeer::PRO_UID, ProcessPeer::PRO_UID);
|
|
||||||
$aConditions[] = array(ProcessPeer::PRO_CATEGORY, "'" . $category . "'");
|
|
||||||
$criteria->addJoinMC($aConditions, Criteria::INNER_JOIN);
|
|
||||||
}
|
|
||||||
|
|
||||||
switch ($filterStatus) {
|
switch ($filterStatus) {
|
||||||
case 'ON_TIME':
|
case 'ON_TIME':
|
||||||
$criteria->add( ListInboxPeer::DEL_RISK_DATE , "TIMEDIFF(". ListInboxPeer::DEL_RISK_DATE." , NOW( ) ) > 0", Criteria::CUSTOM);
|
$criteria->add( ListInboxPeer::DEL_RISK_DATE , "TIMEDIFF(". ListInboxPeer::DEL_RISK_DATE." , NOW( ) ) > 0", Criteria::CUSTOM);
|
||||||
@@ -415,6 +395,31 @@ class ListInbox extends BaseListInbox
|
|||||||
$criteria->add( ListInboxPeer::DEL_DUE_DATE , "TIMEDIFF(". ListInboxPeer::DEL_DUE_DATE." , NOW( ) ) < 0", Criteria::CUSTOM);
|
$criteria->add( ListInboxPeer::DEL_DUE_DATE , "TIMEDIFF(". ListInboxPeer::DEL_DUE_DATE." , NOW( ) ) < 0", Criteria::CUSTOM);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//Filter Search
|
||||||
|
if ($search != '') {
|
||||||
|
$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)
|
||||||
|
)))));
|
||||||
|
}
|
||||||
|
|
||||||
|
//Filter Process Id
|
||||||
|
if ($process != '') {
|
||||||
|
$criteria->add( ListInboxPeer::PRO_UID, $process, Criteria::EQUAL);
|
||||||
|
}
|
||||||
|
|
||||||
|
//Filter Category
|
||||||
|
if ($category != '') {
|
||||||
|
$criteria->addSelectColumn(ProcessPeer::PRO_CATEGORY);
|
||||||
|
$aConditions = array();
|
||||||
|
$aConditions[] = array(ListInboxPeer::PRO_UID, ProcessPeer::PRO_UID);
|
||||||
|
$aConditions[] = array(ProcessPeer::PRO_CATEGORY, "'" . $category . "'");
|
||||||
|
$criteria->addJoinMC($aConditions, Criteria::INNER_JOIN);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -208,6 +208,7 @@ class ListParticipatedLast extends BaseListParticipatedLast
|
|||||||
$newestthan = isset($filters['newestthan'] ) ? $filters['newestthan'] : '';
|
$newestthan = isset($filters['newestthan'] ) ? $filters['newestthan'] : '';
|
||||||
$oldestthan = isset($filters['oldestthan'] ) ? $filters['oldestthan'] : '';
|
$oldestthan = isset($filters['oldestthan'] ) ? $filters['oldestthan'] : '';
|
||||||
|
|
||||||
|
//Filter Started by me and Completed by me
|
||||||
switch ($filter) {
|
switch ($filter) {
|
||||||
case 'started':
|
case 'started':
|
||||||
$criteria->add(ListParticipatedLastPeer::DEL_INDEX, 1, Criteria::EQUAL);
|
$criteria->add(ListParticipatedLastPeer::DEL_INDEX, 1, Criteria::EQUAL);
|
||||||
@@ -216,6 +217,21 @@ class ListParticipatedLast extends BaseListParticipatedLast
|
|||||||
$criteria->add( ListParticipatedLastPeer::APP_STATUS, 'COMPLETED', Criteria::EQUAL);
|
$criteria->add( ListParticipatedLastPeer::APP_STATUS, 'COMPLETED', Criteria::EQUAL);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
//Check the inbox to call
|
||||||
|
switch ($filterStatus) {
|
||||||
|
case 'DRAFT':
|
||||||
|
$criteria->add( ListParticipatedLastPeer::APP_STATUS, 'DRAFT', Criteria::EQUAL );
|
||||||
|
break;
|
||||||
|
case 'TO_DO':
|
||||||
|
$criteria->add( ListParticipatedLastPeer::APP_STATUS, 'TO_DO', Criteria::EQUAL );
|
||||||
|
break;
|
||||||
|
case 'COMPLETED':
|
||||||
|
$criteria->add( ListParticipatedLastPeer::APP_STATUS, 'COMPLETED', Criteria::EQUAL );
|
||||||
|
break;
|
||||||
|
case 'CANCELLED':
|
||||||
|
$criteria->add( ListParticipatedLastPeer::APP_STATUS, 'CANCELLED', Criteria::EQUAL );
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
if ($search != '' ) {
|
if ($search != '' ) {
|
||||||
$criteria->add(
|
$criteria->add(
|
||||||
@@ -226,25 +242,11 @@ class ListParticipatedLast extends BaseListParticipatedLast
|
|||||||
))));
|
))));
|
||||||
}
|
}
|
||||||
|
|
||||||
switch ($filterStatus) {
|
|
||||||
case 'ON_TIME':
|
|
||||||
$criteria->add( ListInboxPeer::DEL_RISK_DATE , "TIMEDIFF(". ListInboxPeer::DEL_RISK_DATE." , NOW( ) ) > 0", Criteria::CUSTOM);
|
|
||||||
break;
|
|
||||||
case 'AT_RISK':
|
|
||||||
$criteria->add( ListInboxPeer::DEL_RISK_DATE , "TIMEDIFF(". ListInboxPeer::DEL_RISK_DATE .", NOW( ) ) < 0", Criteria::CUSTOM);
|
|
||||||
$criteria->add( ListInboxPeer::DEL_DUE_DATE , "TIMEDIFF(". ListInboxPeer::DEL_DUE_DATE .", NOW( ) ) > 0", Criteria::CUSTOM);
|
|
||||||
break;
|
|
||||||
case 'OVERDUE':
|
|
||||||
$criteria->add( ListInboxPeer::DEL_DUE_DATE , "TIMEDIFF(". ListInboxPeer::DEL_DUE_DATE." , NOW( ) ) < 0", Criteria::CUSTOM);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($process != '') {
|
if ($process != '') {
|
||||||
$criteria->add( ListParticipatedLastPeer::PRO_UID, $process, Criteria::EQUAL);
|
$criteria->add( ListParticipatedLastPeer::PRO_UID, $process, Criteria::EQUAL);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($category != '') {
|
if ($category != '') {
|
||||||
// INNER JOIN FOR TAS_TITLE
|
|
||||||
$criteria->addSelectColumn(ProcessPeer::PRO_CATEGORY);
|
$criteria->addSelectColumn(ProcessPeer::PRO_CATEGORY);
|
||||||
$aConditions = array();
|
$aConditions = array();
|
||||||
$aConditions[] = array(ListParticipatedLastPeer::PRO_UID, ProcessPeer::PRO_UID);
|
$aConditions[] = array(ListParticipatedLastPeer::PRO_UID, ProcessPeer::PRO_UID);
|
||||||
|
|||||||
@@ -195,18 +195,16 @@ class ListPaused extends BaseListPaused {
|
|||||||
$search = isset($filters['search']) ? $filters['search'] : "";
|
$search = isset($filters['search']) ? $filters['search'] : "";
|
||||||
$process = isset($filters['process']) ? $filters['process'] : "";
|
$process = isset($filters['process']) ? $filters['process'] : "";
|
||||||
$category = isset($filters['category']) ? $filters['category'] : "";
|
$category = isset($filters['category']) ? $filters['category'] : "";
|
||||||
$dateFrom = isset($filters['dateFrom']) ? $filters['dateFrom'] : "";
|
$filterStatus = isset($filters['filterStatus']) ? $filters['filterStatus'] : "";
|
||||||
$dateTo = isset($filters['dateTo']) ? $filters['dateTo'] : "";
|
|
||||||
|
|
||||||
if ($filter != '') {
|
//Filter Read Unread All
|
||||||
switch ($filter) {
|
switch ($filter) {
|
||||||
case 'read':
|
case 'read':
|
||||||
$criteria->add( ListPausedPeer::DEL_INIT_DATE, null, Criteria::ISNOTNULL );
|
$criteria->add(ListPausedPeer::DEL_INIT_DATE, NULL, Criteria::ISNOTNULL);
|
||||||
break;
|
break;
|
||||||
case 'unread':
|
case 'unread':
|
||||||
$criteria->add( ListPausedPeer::DEL_INIT_DATE, null, Criteria::ISNULL );
|
$criteria->add(ListPausedPeer::DEL_INIT_DATE, NULL, Criteria::ISNULL);
|
||||||
break;
|
break;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($search != '') {
|
if ($search != '') {
|
||||||
@@ -219,50 +217,16 @@ class ListPaused extends BaseListPaused {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ($process != '') {
|
if ($process != '') {
|
||||||
$criteria->add( ListPausedPeer::PRO_UID, $process, Criteria::EQUAL);
|
$criteria->add(ListPausedPeer::PRO_UID, $process, Criteria::EQUAL);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($category != '') {
|
if ($category != '') {
|
||||||
// INNER JOIN FOR TAS_TITLE
|
|
||||||
$criteria->addSelectColumn(ProcessPeer::PRO_CATEGORY);
|
$criteria->addSelectColumn(ProcessPeer::PRO_CATEGORY);
|
||||||
$aConditions = array();
|
$aConditions = array();
|
||||||
$aConditions[] = array(ListPausedPeer::PRO_UID, ProcessPeer::PRO_UID);
|
$aConditions[] = array(ListPausedPeer::PRO_UID, ProcessPeer::PRO_UID);
|
||||||
$aConditions[] = array(ProcessPeer::PRO_CATEGORY, "'" . $category . "'");
|
$aConditions[] = array(ProcessPeer::PRO_CATEGORY, "'" . $category . "'");
|
||||||
$criteria->addJoinMC($aConditions, Criteria::INNER_JOIN);
|
$criteria->addJoinMC($aConditions, Criteria::INNER_JOIN);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($dateFrom != "") {
|
|
||||||
if ($dateTo != "") {
|
|
||||||
if ($dateFrom == $dateTo) {
|
|
||||||
$dateSame = $dateFrom;
|
|
||||||
$dateFrom = $dateSame . " 00:00:00";
|
|
||||||
$dateTo = $dateSame . " 23:59:59";
|
|
||||||
} else {
|
|
||||||
$dateFrom = $dateFrom . " 00:00:00";
|
|
||||||
$dateTo = $dateTo . " 23:59:59";
|
|
||||||
}
|
|
||||||
|
|
||||||
$criteria->add( $criteria->getNewCriterion( ListPausedPeer::DEL_DELEGATE_DATE, $dateFrom, Criteria::GREATER_EQUAL )->
|
|
||||||
addAnd( $criteria->getNewCriterion( ListPausedPeer::DEL_DELEGATE_DATE, $dateTo, Criteria::LESS_EQUAL ) ) );
|
|
||||||
} else {
|
|
||||||
$dateFrom = $dateFrom . " 00:00:00";
|
|
||||||
|
|
||||||
$criteria->add( ListPausedPeer::DEL_DELEGATE_DATE, $dateFrom, Criteria::GREATER_EQUAL );
|
|
||||||
}
|
|
||||||
} elseif ($dateTo != "") {
|
|
||||||
$dateTo = $dateTo . " 23:59:59";
|
|
||||||
|
|
||||||
$criteria->add( ListPausedPeer::DEL_DELEGATE_DATE, $dateTo, Criteria::LESS_EQUAL );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public function countTotal ($usr_uid, $filters = array())
|
|
||||||
{
|
|
||||||
$criteria = new Criteria();
|
|
||||||
$criteria->add( ListPausedPeer::USR_UID, $usr_uid, Criteria::EQUAL );
|
|
||||||
self::loadFilters($criteria, $filters);
|
|
||||||
$total = ListPausedPeer::doCount( $criteria );
|
|
||||||
return (int)$total;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public function loadList($usr_uid, $filters = array(), $callbackRecord = null)
|
public function loadList($usr_uid, $filters = array(), $callbackRecord = null)
|
||||||
@@ -327,15 +291,23 @@ class ListPaused extends BaseListPaused {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the number of cases of a user
|
* Returns the number of cases of a user
|
||||||
* @param $usrUid
|
* @param string $usrUid
|
||||||
|
* @param array $filters
|
||||||
* @return int
|
* @return int
|
||||||
*/
|
*/
|
||||||
public function getCountList($usrUid)
|
public function getCountList($usrUid, $filters = array())
|
||||||
{
|
{
|
||||||
$criteria = new Criteria();
|
$criteria = new Criteria();
|
||||||
|
$criteria->addSelectColumn('COUNT(*) AS TOTAL');
|
||||||
$criteria->add(ListPausedPeer::USR_UID, $usrUid, Criteria::EQUAL);
|
$criteria->add(ListPausedPeer::USR_UID, $usrUid, Criteria::EQUAL);
|
||||||
$total = ListPausedPeer::doCount($criteria);
|
if (count($filters)) {
|
||||||
return (int)$total;
|
self::loadFilters($criteria, $filters);
|
||||||
|
}
|
||||||
|
$dataset = ListPausedPeer::doSelectRS($criteria);
|
||||||
|
$dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
|
||||||
|
$dataset->next();
|
||||||
|
$aRow = $dataset->getRow();
|
||||||
|
return (int)$aRow['TOTAL'];
|
||||||
}
|
}
|
||||||
} // ListPaused
|
} // ListPaused
|
||||||
|
|
||||||
|
|||||||
@@ -160,17 +160,6 @@ class ListUnassigned extends BaseListUnassigned
|
|||||||
$dateFrom = isset($filters['dateFrom']) ? $filters['dateFrom'] : "";
|
$dateFrom = isset($filters['dateFrom']) ? $filters['dateFrom'] : "";
|
||||||
$dateTo = isset($filters['dateTo']) ? $filters['dateTo'] : "";
|
$dateTo = isset($filters['dateTo']) ? $filters['dateTo'] : "";
|
||||||
|
|
||||||
if ($filter != '') {
|
|
||||||
switch ($filter) {
|
|
||||||
case 'read':
|
|
||||||
$criteria->add( ListUnassignedPeer::DEL_INIT_DATE, null, Criteria::ISNOTNULL );
|
|
||||||
break;
|
|
||||||
case 'unread':
|
|
||||||
$criteria->add( ListUnassignedPeer::DEL_INIT_DATE, null, Criteria::ISNULL );
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($search != '') {
|
if ($search != '') {
|
||||||
$criteria->add(
|
$criteria->add(
|
||||||
$criteria->getNewCriterion(ListUnassignedPeer::APP_TITLE, '%' . $search . '%', Criteria::LIKE)->addOr(
|
$criteria->getNewCriterion(ListUnassignedPeer::APP_TITLE, '%' . $search . '%', Criteria::LIKE)->addOr(
|
||||||
@@ -185,37 +174,12 @@ class ListUnassigned extends BaseListUnassigned
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ($category != '') {
|
if ($category != '') {
|
||||||
// INNER JOIN FOR TAS_TITLE
|
|
||||||
$criteria->addSelectColumn(ProcessPeer::PRO_CATEGORY);
|
$criteria->addSelectColumn(ProcessPeer::PRO_CATEGORY);
|
||||||
$aConditions = array();
|
$aConditions = array();
|
||||||
$aConditions[] = array(ListUnassignedPeer::PRO_UID, ProcessPeer::PRO_UID);
|
$aConditions[] = array(ListUnassignedPeer::PRO_UID, ProcessPeer::PRO_UID);
|
||||||
$aConditions[] = array(ProcessPeer::PRO_CATEGORY, "'" . $category . "'");
|
$aConditions[] = array(ProcessPeer::PRO_CATEGORY, "'" . $category . "'");
|
||||||
$criteria->addJoinMC($aConditions, Criteria::INNER_JOIN);
|
$criteria->addJoinMC($aConditions, Criteria::INNER_JOIN);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($dateFrom != "") {
|
|
||||||
if ($dateTo != "") {
|
|
||||||
if ($dateFrom == $dateTo) {
|
|
||||||
$dateSame = $dateFrom;
|
|
||||||
$dateFrom = $dateSame . " 00:00:00";
|
|
||||||
$dateTo = $dateSame . " 23:59:59";
|
|
||||||
} else {
|
|
||||||
$dateFrom = $dateFrom . " 00:00:00";
|
|
||||||
$dateTo = $dateTo . " 23:59:59";
|
|
||||||
}
|
|
||||||
|
|
||||||
$criteria->add( $criteria->getNewCriterion( ListUnassignedPeer::DEL_DELEGATE_DATE, $dateFrom, Criteria::GREATER_EQUAL )->
|
|
||||||
addAnd( $criteria->getNewCriterion( ListUnassignedPeer::DEL_DELEGATE_DATE, $dateTo, Criteria::LESS_EQUAL ) ) );
|
|
||||||
} else {
|
|
||||||
$dateFrom = $dateFrom . " 00:00:00";
|
|
||||||
|
|
||||||
$criteria->add( ListUnassignedPeer::DEL_DELEGATE_DATE, $dateFrom, Criteria::GREATER_EQUAL );
|
|
||||||
}
|
|
||||||
} elseif ($dateTo != "") {
|
|
||||||
$dateTo = $dateTo . " 23:59:59";
|
|
||||||
|
|
||||||
$criteria->add( ListUnassignedPeer::DEL_DELEGATE_DATE, $dateTo, Criteria::LESS_EQUAL );
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public function loadList($usr_uid, $filters = array(), $callbackRecord = null)
|
public function loadList($usr_uid, $filters = array(), $callbackRecord = null)
|
||||||
|
|||||||
Reference in New Issue
Block a user