PMCORE-3921

This commit is contained in:
Paula Quispe
2022-08-10 15:31:08 -04:00
parent a01267b2da
commit ebed7aef01
10 changed files with 126 additions and 31 deletions

View File

@@ -272,10 +272,10 @@ class AbstractCasesTest extends TestCase
} }
/** /**
* This check the getter and setter related to the inbox status * This check the getter and setter related to the review status
* *
* @covers \ProcessMaker\BusinessModel\Cases\AbstractCases::setInboxStatus() * @covers \ProcessMaker\BusinessModel\Cases\AbstractCases::setReviewStatus()
* @covers \ProcessMaker\BusinessModel\Cases\AbstractCases::getInboxStatus() * @covers \ProcessMaker\BusinessModel\Cases\AbstractCases::getReviewStatus()
* @test * @test
*/ */
public function it_return_set_get_inbox_status() public function it_return_set_get_inbox_status()
@@ -283,8 +283,8 @@ class AbstractCasesTest extends TestCase
$absCases = new AbstractCases(); $absCases = new AbstractCases();
$arguments = ['READ', 'UNREAD']; $arguments = ['READ', 'UNREAD'];
$index = array_rand($arguments); $index = array_rand($arguments);
$absCases->setInboxStatus($arguments[$index]); $absCases->setReviewStatus($arguments[$index]);
$actual = $absCases->getInboxStatus(); $actual = $absCases->getReviewStatus();
if ($arguments[$index] === '') { if ($arguments[$index] === '') {
$this->assertEmpty($actual); $this->assertEmpty($actual);
} else { } else {
@@ -293,16 +293,16 @@ class AbstractCasesTest extends TestCase
} }
/** /**
* This test the exception setInboxStatus * This test the exception setReviewStatus
* *
* @covers \ProcessMaker\BusinessModel\Cases\AbstractCases::setInboxStatus() * @covers \ProcessMaker\BusinessModel\Cases\AbstractCases::setReviewStatus()
* @test * @test
*/ */
public function it_return_exception_inbox_status() public function it_return_exception_inbox_status()
{ {
$this->expectException(Exception::class); $this->expectException(Exception::class);
$absCases = new AbstractCases(); $absCases = new AbstractCases();
$absCases->setInboxStatus('INVALID_VALUE'); $absCases->setReviewStatus('INVALID_VALUE');
} }
/** /**

View File

@@ -296,7 +296,7 @@ class HomeTest extends TestCase
'CAL_COLUMNS' => '[{"field":"case_number","enableFilter":false,"set":true},{"field":"case_title","enableFilter":false,"set":true},{"field":"process_name","enableFilter":false,"set":true},{"field":"task","enableFilter":false,"set":true},{"field":"send_by","enableFilter":false,"set":true},{"field":"due_date","enableFilter":false,"set":true},{"field":"delegation_date","enableFilter":false,"set":true},{"field":"priority","enableFilter":false,"set":true},{"field":"VAR1","enableFilter":false,"set":true},{"field":"VAR2","enableFilter":false,"set":true},{"field":"VAR3","enableFilter":false,"set":false}]', 'CAL_COLUMNS' => '[{"field":"case_number","enableFilter":false,"set":true},{"field":"case_title","enableFilter":false,"set":true},{"field":"process_name","enableFilter":false,"set":true},{"field":"task","enableFilter":false,"set":true},{"field":"send_by","enableFilter":false,"set":true},{"field":"due_date","enableFilter":false,"set":true},{"field":"delegation_date","enableFilter":false,"set":true},{"field":"priority","enableFilter":false,"set":true},{"field":"VAR1","enableFilter":false,"set":true},{"field":"VAR2","enableFilter":false,"set":true},{"field":"VAR3","enableFilter":false,"set":false}]',
'ADD_TAB_UID' => $additionalTables->ADD_TAB_UID 'ADD_TAB_UID' => $additionalTables->ADD_TAB_UID
]); ]);
$arguments = [$caseList->CAL_ID, 0, 0, 0, 0, 15, 0, '', '', 'APP_NUMBER,DESC']; $arguments = [$caseList->CAL_ID, 0, 0, 0, 0, 15, 0, '', '', '', 'APP_NUMBER,DESC'];
$home = new Home($application->APP_INIT_USER); $home = new Home($application->APP_INIT_USER);
$result = $home->getCustomDraft(...$arguments); $result = $home->getCustomDraft(...$arguments);
@@ -350,7 +350,7 @@ class HomeTest extends TestCase
'CAL_COLUMNS' => '[{"field":"case_number","enableFilter":false,"set":true},{"field":"case_title","enableFilter":false,"set":true},{"field":"process_name","enableFilter":false,"set":true},{"field":"task","enableFilter":false,"set":true},{"field":"send_by","enableFilter":false,"set":true},{"field":"due_date","enableFilter":false,"set":true},{"field":"delegation_date","enableFilter":false,"set":true},{"field":"priority","enableFilter":false,"set":true},{"field":"VAR1","enableFilter":false,"set":true},{"field":"VAR2","enableFilter":false,"set":true},{"field":"VAR3","enableFilter":false,"set":false}]', 'CAL_COLUMNS' => '[{"field":"case_number","enableFilter":false,"set":true},{"field":"case_title","enableFilter":false,"set":true},{"field":"process_name","enableFilter":false,"set":true},{"field":"task","enableFilter":false,"set":true},{"field":"send_by","enableFilter":false,"set":true},{"field":"due_date","enableFilter":false,"set":true},{"field":"delegation_date","enableFilter":false,"set":true},{"field":"priority","enableFilter":false,"set":true},{"field":"VAR1","enableFilter":false,"set":true},{"field":"VAR2","enableFilter":false,"set":true},{"field":"VAR3","enableFilter":false,"set":false}]',
'ADD_TAB_UID' => $additionalTables->ADD_TAB_UID 'ADD_TAB_UID' => $additionalTables->ADD_TAB_UID
]); ]);
$arguments = [$caseList->CAL_ID, 0, 0, 0, 0, 15, 0, '', '', '', '', 'APP_NUMBER,DESC']; $arguments = [$caseList->CAL_ID, 0, 0, 0, 0, 15, 0, '', '', '', '', '', 'APP_NUMBER,DESC'];
$home = new Home($application->APP_INIT_USER); $home = new Home($application->APP_INIT_USER);
$result = $home->getCustomInbox(...$arguments); $result = $home->getCustomInbox(...$arguments);
@@ -365,7 +365,7 @@ class HomeTest extends TestCase
* @test * @test
* @covers \ProcessMaker\BusinessModel\Cases\Home::getCustomUnassigned() * @covers \ProcessMaker\BusinessModel\Cases\Home::getCustomUnassigned()
*/ */
public function it_should_test_getCustomUnassignedt() public function it_should_test_getCustomUnassigned()
{ {
$this->markTestIncomplete('Illegal mix of collations'); $this->markTestIncomplete('Illegal mix of collations');
$additionalTables = factory(AdditionalTables::class)->create(); $additionalTables = factory(AdditionalTables::class)->create();
@@ -430,7 +430,7 @@ class HomeTest extends TestCase
'CAL_COLUMNS' => '[{"field":"case_number","enableFilter":false,"set":true},{"field":"case_title","enableFilter":false,"set":true},{"field":"process_name","enableFilter":false,"set":true},{"field":"task","enableFilter":false,"set":true},{"field":"send_by","enableFilter":false,"set":true},{"field":"due_date","enableFilter":false,"set":true},{"field":"delegation_date","enableFilter":false,"set":true},{"field":"priority","enableFilter":false,"set":true},{"field":"VAR1","enableFilter":false,"set":true},{"field":"VAR2","enableFilter":false,"set":true},{"field":"VAR3","enableFilter":false,"set":false}]', 'CAL_COLUMNS' => '[{"field":"case_number","enableFilter":false,"set":true},{"field":"case_title","enableFilter":false,"set":true},{"field":"process_name","enableFilter":false,"set":true},{"field":"task","enableFilter":false,"set":true},{"field":"send_by","enableFilter":false,"set":true},{"field":"due_date","enableFilter":false,"set":true},{"field":"delegation_date","enableFilter":false,"set":true},{"field":"priority","enableFilter":false,"set":true},{"field":"VAR1","enableFilter":false,"set":true},{"field":"VAR2","enableFilter":false,"set":true},{"field":"VAR3","enableFilter":false,"set":false}]',
'ADD_TAB_UID' => $additionalTables->ADD_TAB_UID 'ADD_TAB_UID' => $additionalTables->ADD_TAB_UID
]); ]);
$arguments = [$caseList->CAL_ID, 0, 0, 0, 0, 15, 0, '', '', '', '', 'APP_NUMBER,DESC']; $arguments = [$caseList->CAL_ID, 0, 0, 0, 0, 15, 0, '', '', '', '', '', 'APP_NUMBER,DESC'];
$home = new Home($application->APP_INIT_USER); $home = new Home($application->APP_INIT_USER);
$result = $home->getCustomUnassigned(...$arguments); $result = $home->getCustomUnassigned(...$arguments);
@@ -530,7 +530,7 @@ class HomeTest extends TestCase
'CAL_COLUMNS' => '[{"field":"case_number","enableFilter":false,"set":true},{"field":"case_title","enableFilter":false,"set":true},{"field":"process_name","enableFilter":false,"set":true},{"field":"task","enableFilter":false,"set":true},{"field":"send_by","enableFilter":false,"set":true},{"field":"due_date","enableFilter":false,"set":true},{"field":"delegation_date","enableFilter":false,"set":true},{"field":"priority","enableFilter":false,"set":true},{"field":"VAR1","enableFilter":false,"set":true},{"field":"VAR2","enableFilter":false,"set":true},{"field":"VAR3","enableFilter":false,"set":false}]', 'CAL_COLUMNS' => '[{"field":"case_number","enableFilter":false,"set":true},{"field":"case_title","enableFilter":false,"set":true},{"field":"process_name","enableFilter":false,"set":true},{"field":"task","enableFilter":false,"set":true},{"field":"send_by","enableFilter":false,"set":true},{"field":"due_date","enableFilter":false,"set":true},{"field":"delegation_date","enableFilter":false,"set":true},{"field":"priority","enableFilter":false,"set":true},{"field":"VAR1","enableFilter":false,"set":true},{"field":"VAR2","enableFilter":false,"set":true},{"field":"VAR3","enableFilter":false,"set":false}]',
'ADD_TAB_UID' => $additionalTables->ADD_TAB_UID 'ADD_TAB_UID' => $additionalTables->ADD_TAB_UID
]); ]);
$arguments = [$caseList->CAL_ID, 0, 0, 0, 0, 15, 0, '', '', '', '', 'APP_NUMBER,DESC']; $arguments = [$caseList->CAL_ID, 0, 0, 0, 0, 15, 0, '', '', '', '', '', 'APP_NUMBER,DESC'];
$home = new Home($application1->APP_INIT_USER); $home = new Home($application1->APP_INIT_USER);
$result = $home->getCustomPaused(...$arguments); $result = $home->getCustomPaused(...$arguments);

View File

@@ -3,7 +3,6 @@
namespace ProcessMaker\BusinessModel\Cases; namespace ProcessMaker\BusinessModel\Cases;
use Datetime; use Datetime;
use DB;
use Exception; use Exception;
use ProcessMaker\BusinessModel\Interfaces\CasesInterface; use ProcessMaker\BusinessModel\Interfaces\CasesInterface;
use ProcessMaker\BusinessModel\Validator; use ProcessMaker\BusinessModel\Validator;
@@ -14,7 +13,7 @@ use ProcessMaker\Model\User;
class AbstractCases implements CasesInterface class AbstractCases implements CasesInterface
{ {
// Constants for validate values // Constants for validate values
const INBOX_STATUSES = ['READ', 'UNREAD']; const REVIEW_STATUSES = ['READ', 'UNREAD']; //0 => READ, 1 => UNREAD
const PARTICIPATED_STATUSES = ['STARTED', 'IN_PROGRESS', 'COMPLETED', 'SUPERVISING']; const PARTICIPATED_STATUSES = ['STARTED', 'IN_PROGRESS', 'COMPLETED', 'SUPERVISING'];
const RISK_STATUSES = ['ON_TIME', 'AT_RISK', 'OVERDUE']; const RISK_STATUSES = ['ON_TIME', 'AT_RISK', 'OVERDUE'];
const CASE_STATUSES = [1 => 'DRAFT', 2 => 'TO_DO', 3 => 'COMPLETED', 4 => 'CANCELED']; const CASE_STATUSES = [1 => 'DRAFT', 2 => 'TO_DO', 3 => 'COMPLETED', 4 => 'CANCELED'];
@@ -69,7 +68,7 @@ class AbstractCases implements CasesInterface
private $valueToSearch = ''; private $valueToSearch = '';
// Filter cases depending if were read or not, know as "$filter" in the old lists classes // Filter cases depending if were read or not, know as "$filter" in the old lists classes
private $inboxStatus = ''; private $reviewStatus = '';
// Filter cases depending if the case was started or completed by the current user, know as "$filter" in the old lists classes // Filter cases depending if the case was started or completed by the current user, know as "$filter" in the old lists classes
private $participatedStatus = ''; private $participatedStatus = '';
@@ -373,23 +372,25 @@ class AbstractCases implements CasesInterface
} }
/** /**
* Set inbox status * Set review status
* *
* @param string $inboxStatus * @param string $status
* *
* @throws Exception * @throws Exception
*/ */
public function setInboxStatus(string $inboxStatus) public function setReviewStatus(string $status)
{ {
// Convert the value to upper case // Convert the value to upper case
$inboxStatus = strtoupper($inboxStatus); $status = strtoupper($status);
// Validate the inbox status // Validate the status value
if (!in_array($inboxStatus, self::INBOX_STATUSES)) { if (!empty($status)) {
throw new Exception("Inbox status '{$inboxStatus}' is not valid."); if (!in_array($status, self::REVIEW_STATUSES)) {
throw new Exception("Inbox status '{$status}' is not valid.");
}
} }
$this->inboxStatus = $inboxStatus; $this->reviewStatus = $status;
} }
/** /**
@@ -397,9 +398,9 @@ class AbstractCases implements CasesInterface
* *
* @return string * @return string
*/ */
public function getInboxStatus() public function getReviewStatus()
{ {
return $this->inboxStatus; return $this->reviewStatus;
} }
/** /**
@@ -1412,6 +1413,10 @@ class AbstractCases implements CasesInterface
if (get_class($this) === Inbox::class && !empty($properties['sendBy'])) { if (get_class($this) === Inbox::class && !empty($properties['sendBy'])) {
$this->setSendBy($properties['sendBy']); $this->setSendBy($properties['sendBy']);
} }
// Filter by Review Status
if (get_class($this) === Inbox::class && !empty($properties['reviewStatus'])) {
$this->setReviewStatus($properties['reviewStatus']);
}
/** Apply filters related to PAUSED */ /** Apply filters related to PAUSED */
// Filter date related to delegate from // Filter date related to delegate from
if (get_class($this) === Paused::class && !empty($properties['delegateFrom'])) { if (get_class($this) === Paused::class && !empty($properties['delegateFrom'])) {
@@ -1425,6 +1430,10 @@ class AbstractCases implements CasesInterface
if (get_class($this) === Paused::class && !empty($properties['sendBy'])) { if (get_class($this) === Paused::class && !empty($properties['sendBy'])) {
$this->setSendBy($properties['sendBy']); $this->setSendBy($properties['sendBy']);
} }
// Filter by Review Status
if (get_class($this) === Paused::class && !empty($properties['reviewStatus'])) {
$this->setReviewStatus($properties['reviewStatus']);
}
/** Apply filters related to UNASSIGNED */ /** Apply filters related to UNASSIGNED */
// Filter date related to delegate from // Filter date related to delegate from
if (get_class($this) === Unassigned::class && !empty($properties['delegateFrom'])) { if (get_class($this) === Unassigned::class && !empty($properties['delegateFrom'])) {
@@ -1438,6 +1447,10 @@ class AbstractCases implements CasesInterface
if (get_class($this) === Unassigned::class && !empty($properties['sendBy'])) { if (get_class($this) === Unassigned::class && !empty($properties['sendBy'])) {
$this->setSendBy($properties['sendBy']); $this->setSendBy($properties['sendBy']);
} }
// Filter by Review Status
if (get_class($this) === Unassigned::class && !empty($properties['reviewStatus'])) {
$this->setReviewStatus($properties['reviewStatus']);
}
/** Apply filters related to MY CASES */ /** Apply filters related to MY CASES */
// My cases filter: started, in-progress, completed, supervising // My cases filter: started, in-progress, completed, supervising

View File

@@ -87,6 +87,10 @@ class Draft extends AbstractCases
if (!empty($this->getCaseUid())) { if (!empty($this->getCaseUid())) {
$query->appUid($this->getCaseUid()); $query->appUid($this->getCaseUid());
} }
// Specific review status
if (!empty($this->getReviewStatus())) {
$query->readUnread($this->getReviewStatus());
}
return $query; return $query;
} }

View File

@@ -47,6 +47,7 @@ class Home
* @param int $offset * @param int $offset
* @param string $caseTitle * @param string $caseTitle
* @param string $filterCases * @param string $filterCases
* @param string $reviewStatus
* @param string $sort * @param string $sort
* @param callable $callback * @param callable $callback
* *
@@ -61,6 +62,7 @@ class Home
int $offset = 0, int $offset = 0,
string $caseTitle = '', string $caseTitle = '',
string $filterCases = '', string $filterCases = '',
string $reviewStatus = '',
string $sort = 'APP_NUMBER,DESC', string $sort = 'APP_NUMBER,DESC',
callable $callback = null callable $callback = null
) )
@@ -71,6 +73,7 @@ class Home
$properties['caseNumber'] = $caseNumber; $properties['caseNumber'] = $caseNumber;
$properties['caseTitle'] = $caseTitle; $properties['caseTitle'] = $caseTitle;
$properties['filterCases'] = $filterCases; $properties['filterCases'] = $filterCases;
$properties['reviewStatus'] = $reviewStatus;
$properties['category'] = $category; $properties['category'] = $category;
$properties['process'] = $process; $properties['process'] = $process;
$properties['task'] = $task; $properties['task'] = $task;
@@ -103,6 +106,7 @@ class Home
* @param string $delegateFrom * @param string $delegateFrom
* @param string $delegateTo * @param string $delegateTo
* @param string $filterCases * @param string $filterCases
* @param string $reviewStatus
* @param string $sort * @param string $sort
* @param string $sendBy * @param string $sendBy
* @param callable $callback * @param callable $callback
@@ -120,6 +124,7 @@ class Home
string $delegateFrom = '', string $delegateFrom = '',
string $delegateTo = '', string $delegateTo = '',
string $filterCases = '', string $filterCases = '',
string $reviewStatus = '',
string $sort = 'APP_NUMBER,DESC', string $sort = 'APP_NUMBER,DESC',
string $sendBy = '', string $sendBy = '',
callable $callback = null callable $callback = null
@@ -133,6 +138,7 @@ class Home
$properties['delegateFrom'] = $delegateFrom; $properties['delegateFrom'] = $delegateFrom;
$properties['delegateTo'] = $delegateTo; $properties['delegateTo'] = $delegateTo;
$properties['filterCases'] = $filterCases; $properties['filterCases'] = $filterCases;
$properties['reviewStatus'] = $reviewStatus;
$properties['category'] = $category; $properties['category'] = $category;
$properties['process'] = $process; $properties['process'] = $process;
$properties['task'] = $task; $properties['task'] = $task;
@@ -166,6 +172,7 @@ class Home
* @param string $delegateFrom * @param string $delegateFrom
* @param string $delegateTo * @param string $delegateTo
* @param string $filterCases * @param string $filterCases
* @param string $reviewStatus
* @param string $sort * @param string $sort
* @param string $sendBy * @param string $sendBy
* @param callable $callback * @param callable $callback
@@ -183,6 +190,7 @@ class Home
string $delegateFrom = '', string $delegateFrom = '',
string $delegateTo = '', string $delegateTo = '',
string $filterCases = '', string $filterCases = '',
string $reviewStatus = '',
string $sort = 'APP_NUMBER,DESC', string $sort = 'APP_NUMBER,DESC',
string $sendBy = '', string $sendBy = '',
callable $callback = null callable $callback = null
@@ -196,6 +204,7 @@ class Home
$properties['delegateFrom'] = $delegateFrom; $properties['delegateFrom'] = $delegateFrom;
$properties['delegateTo'] = $delegateTo; $properties['delegateTo'] = $delegateTo;
$properties['filterCases'] = $filterCases; $properties['filterCases'] = $filterCases;
$properties['reviewStatus'] = $reviewStatus;
$properties['category'] = $category; $properties['category'] = $category;
$properties['process'] = $process; $properties['process'] = $process;
$properties['task'] = $task; $properties['task'] = $task;
@@ -231,6 +240,7 @@ class Home
* @param string $delegateFrom * @param string $delegateFrom
* @param string $delegateTo * @param string $delegateTo
* @param string $filterCases * @param string $filterCases
* @param string $reviewStatus
* @param string $sort * @param string $sort
* @param string $sendBy * @param string $sendBy
* @param callable $callback * @param callable $callback
@@ -248,6 +258,7 @@ class Home
string $delegateFrom = '', string $delegateFrom = '',
string $delegateTo = '', string $delegateTo = '',
string $filterCases = '', string $filterCases = '',
string $reviewStatus = '',
string $sort = 'APP_NUMBER,DESC', string $sort = 'APP_NUMBER,DESC',
string $sendBy = '', string $sendBy = '',
callable $callback = null callable $callback = null
@@ -261,6 +272,7 @@ class Home
$properties['delegateFrom'] = $delegateFrom; $properties['delegateFrom'] = $delegateFrom;
$properties['delegateTo'] = $delegateTo; $properties['delegateTo'] = $delegateTo;
$properties['filterCases'] = $filterCases; $properties['filterCases'] = $filterCases;
$properties['reviewStatus'] = $reviewStatus;
$properties['category'] = $category; $properties['category'] = $category;
$properties['process'] = $process; $properties['process'] = $process;
$properties['task'] = $task; $properties['task'] = $task;
@@ -376,6 +388,7 @@ class Home
* @param int $offset * @param int $offset
* @param string $caseTitle * @param string $caseTitle
* @param string $filterCases * @param string $filterCases
* @param string $reviewStatus
* @param string $sort * @param string $sort
* @param array $customFilters * @param array $customFilters
* *
@@ -391,6 +404,7 @@ class Home
int $offset = 0, int $offset = 0,
string $caseTitle = '', string $caseTitle = '',
string $filterCases = '', string $filterCases = '',
string $reviewStatus = '',
string $sort = 'APP_NUMBER,DESC', string $sort = 'APP_NUMBER,DESC',
array $customFilters = [] array $customFilters = []
) )
@@ -404,11 +418,12 @@ class Home
$offset, $offset,
$caseTitle, $caseTitle,
$filterCases, $filterCases,
$reviewStatus,
$sort $sort
]; ];
//clear duplicate indexes //clear duplicate indexes
$keys = ['caseNumber', 'category', 'process', 'task', 'limit', 'offset', 'caseTitle', 'filterCases', 'sort']; $keys = ['caseNumber', 'category', 'process', 'task', 'limit', 'offset', 'caseTitle', 'filterCases', 'reviewStatus', 'sort'];
foreach ($keys as $value) { foreach ($keys as $value) {
unset($customFilters[$value]); unset($customFilters[$value]);
} }
@@ -436,6 +451,7 @@ class Home
* @param string $delegateFrom * @param string $delegateFrom
* @param string $delegateTo * @param string $delegateTo
* @param string $filterCases * @param string $filterCases
* @param string $reviewStatus
* @param string $sort * @param string $sort
* @param string $sendBy * @param string $sendBy
* @param array $customFilters * @param array $customFilters
@@ -454,6 +470,7 @@ class Home
string $delegateFrom = '', string $delegateFrom = '',
string $delegateTo = '', string $delegateTo = '',
string $filterCases = '', string $filterCases = '',
string $reviewStatus = '',
string $sort = 'APP_NUMBER,DESC', string $sort = 'APP_NUMBER,DESC',
string $sendBy = '', string $sendBy = '',
array $customFilters = [] array $customFilters = []
@@ -470,12 +487,13 @@ class Home
$delegateFrom, $delegateFrom,
$delegateTo, $delegateTo,
$filterCases, $filterCases,
$reviewStatus,
$sort, $sort,
$sendBy $sendBy
]; ];
//clear duplicate indexes //clear duplicate indexes
$keys = ['caseNumber', 'category', 'process', 'task', 'limit', 'offset', 'caseTitle', 'delegateFrom', 'delegateTo', 'filterCases', 'sort', 'sendBy']; $keys = ['caseNumber', 'category', 'process', 'task', 'limit', 'offset', 'caseTitle', 'delegateFrom', 'delegateTo', 'filterCases', 'reviewStatus', 'sort', 'sendBy'];
foreach ($keys as $value) { foreach ($keys as $value) {
unset($customFilters[$value]); unset($customFilters[$value]);
} }
@@ -503,6 +521,7 @@ class Home
* @param string $delegateFrom * @param string $delegateFrom
* @param string $delegateTo * @param string $delegateTo
* @param string $filterCases * @param string $filterCases
* @param string $reviewStatus
* @param string $sort * @param string $sort
* @param string $sendBy * @param string $sendBy
* @param array $customFilters * @param array $customFilters
@@ -521,6 +540,7 @@ class Home
string $delegateFrom = '', string $delegateFrom = '',
string $delegateTo = '', string $delegateTo = '',
string $filterCases = '', string $filterCases = '',
string $reviewStatus = '',
string $sort = 'APP_NUMBER,DESC', string $sort = 'APP_NUMBER,DESC',
string $sendBy = '', string $sendBy = '',
array $customFilters = [] array $customFilters = []
@@ -537,12 +557,13 @@ class Home
$delegateFrom, $delegateFrom,
$delegateTo, $delegateTo,
$filterCases, $filterCases,
$reviewStatus,
$sort, $sort,
$sendBy $sendBy
]; ];
//clear duplicate indexes //clear duplicate indexes
$keys = ['caseNumber', 'category', 'process', 'task', 'limit', 'offset', 'caseTitle', 'delegateFrom', 'delegateTo', 'filterCases', 'sort', 'sendBy']; $keys = ['caseNumber', 'category', 'process', 'task', 'limit', 'offset', 'caseTitle', 'delegateFrom', 'delegateTo', 'filterCases', 'reviewStatus', 'sort', 'sendBy'];
foreach ($keys as $value) { foreach ($keys as $value) {
unset($customFilters[$value]); unset($customFilters[$value]);
} }
@@ -570,6 +591,7 @@ class Home
* @param string $delegateFrom * @param string $delegateFrom
* @param string $delegateTo * @param string $delegateTo
* @param string $filterCases * @param string $filterCases
* @param string $reviewStatus
* @param string $sort * @param string $sort
* @param string $sendBy * @param string $sendBy
* @param array $customFilters * @param array $customFilters
@@ -588,6 +610,7 @@ class Home
string $delegateFrom = '', string $delegateFrom = '',
string $delegateTo = '', string $delegateTo = '',
string $filterCases = '', string $filterCases = '',
string $reviewStatus = '',
string $sort = 'APP_NUMBER,DESC', string $sort = 'APP_NUMBER,DESC',
string $sendBy = '', string $sendBy = '',
array $customFilters = [] array $customFilters = []
@@ -604,12 +627,13 @@ class Home
$delegateFrom, $delegateFrom,
$delegateTo, $delegateTo,
$filterCases, $filterCases,
$reviewStatus,
$sort, $sort,
$sendBy $sendBy
]; ];
//clear duplicate indexes //clear duplicate indexes
$keys = ['caseNumber', 'category', 'process', 'task', 'limit', 'offset', 'caseTitle', 'delegateFrom', 'delegateTo', 'filterCases', 'sort', 'sendBy']; $keys = ['caseNumber', 'category', 'process', 'task', 'limit', 'offset', 'caseTitle', 'delegateFrom', 'delegateTo', 'filterCases', 'reviewStatus', 'sort', 'sendBy'];
foreach ($keys as $value) { foreach ($keys as $value) {
unset($customFilters[$value]); unset($customFilters[$value]);
} }

View File

@@ -101,6 +101,10 @@ class Inbox extends AbstractCases
if (!empty($this->getSendBy())) { if (!empty($this->getSendBy())) {
$query->sendBy($this->getSendBy()); $query->sendBy($this->getSendBy());
} }
// Specific review status
if (!empty($this->getReviewStatus())) {
$query->readUnread($this->getReviewStatus());
}
return $query; return $query;
} }

View File

@@ -101,6 +101,10 @@ class Paused extends AbstractCases
if (!empty($this->getSendBy())) { if (!empty($this->getSendBy())) {
$query->sendBy($this->getSendBy()); $query->sendBy($this->getSendBy());
} }
// Specific review status
if (!empty($this->getReviewStatus())) {
$query->readUnread($this->getReviewStatus());
}
return $query; return $query;
} }

View File

@@ -89,7 +89,6 @@ class Unassigned extends AbstractCases
if (!empty($this->getCaseUid())) { if (!empty($this->getCaseUid())) {
$query->appUid($this->getCaseUid()); $query->appUid($this->getCaseUid());
} }
// Specific delegate date from // Specific delegate date from
if (!empty($this->getDelegateFrom())) { if (!empty($this->getDelegateFrom())) {
$query->delegateDateFrom($this->getDelegateFrom()); $query->delegateDateFrom($this->getDelegateFrom());
@@ -102,6 +101,10 @@ class Unassigned extends AbstractCases
if (!empty($this->getSendBy())) { if (!empty($this->getSendBy())) {
$query->sendBy($this->getSendBy()); $query->sendBy($this->getSendBy());
} }
// Specific review status
if (!empty($this->getReviewStatus())) {
$query->readUnread($this->getReviewStatus());
}
return $query; return $query;
} }

View File

@@ -298,6 +298,25 @@ class Delegation extends Model
return $query->where('APPLICATION.APP_FINISH_DATE', '<=', $to); return $query->where('APPLICATION.APP_FINISH_DATE', '<=', $to);
} }
/**
* Scope a query to only include unread thread
*
* @param \Illuminate\Database\Eloquent\Builder $query
* @param string $status
*
* @return \Illuminate\Database\Eloquent\Builder
*/
public function scopeReadUnread($query, $status)
{
if ($status === 'READ') {
// READ
return $query->whereNotNull('DEL_INIT_DATE');
} else {
// UNREAD
return $query->whereNull('DEL_INIT_DATE');
}
}
/** /**
* Scope a query to only include a specific delegate date * Scope a query to only include a specific delegate date
* *

View File

@@ -58,6 +58,7 @@ class Home extends Api
* @param int $offset * @param int $offset
* @param string $caseTitle * @param string $caseTitle
* @param string $filterCases * @param string $filterCases
* @param string $filterCases
* @param string $sort * @param string $sort
* *
* @return array * @return array
@@ -76,6 +77,7 @@ class Home extends Api
int $offset = 0, int $offset = 0,
string $caseTitle = '', string $caseTitle = '',
string $filterCases = '', string $filterCases = '',
string $reviewStatus = '',
string $sort = 'APP_NUMBER,DESC' string $sort = 'APP_NUMBER,DESC'
) )
{ {
@@ -90,6 +92,7 @@ class Home extends Api
$offset, $offset,
$caseTitle, $caseTitle,
$filterCases, $filterCases,
$reviewStatus,
$sort $sort
); );
} catch (Exception $e) { } catch (Exception $e) {
@@ -113,6 +116,7 @@ class Home extends Api
* @param string $delegateFrom * @param string $delegateFrom
* @param string $delegateTo * @param string $delegateTo
* @param string $filterCases * @param string $filterCases
* @param string $reviewStatus
* @param string $sort * @param string $sort
* @param string $sendBy * @param string $sendBy
* *
@@ -134,6 +138,7 @@ class Home extends Api
string $delegateFrom = '', string $delegateFrom = '',
string $delegateTo = '', string $delegateTo = '',
string $filterCases = '', string $filterCases = '',
string $reviewStatus = '',
string $sort = 'APP_NUMBER,DESC', string $sort = 'APP_NUMBER,DESC',
string $sendBy = '' string $sendBy = ''
) )
@@ -151,6 +156,7 @@ class Home extends Api
$delegateFrom, $delegateFrom,
$delegateTo, $delegateTo,
$filterCases, $filterCases,
$reviewStatus,
$sort, $sort,
$sendBy $sendBy
); );
@@ -174,6 +180,7 @@ class Home extends Api
* @param string $delegateFrom * @param string $delegateFrom
* @param string $delegateTo * @param string $delegateTo
* @param string $filterCases * @param string $filterCases
* @param string $reviewStatus
* @param string $sort * @param string $sort
* @param string $sendBy * @param string $sendBy
* *
@@ -195,6 +202,7 @@ class Home extends Api
string $delegateFrom = '', string $delegateFrom = '',
string $delegateTo = '', string $delegateTo = '',
string $filterCases = '', string $filterCases = '',
string $reviewStatus = '',
string $sort = 'APP_NUMBER,DESC', string $sort = 'APP_NUMBER,DESC',
string $sendBy = '' string $sendBy = ''
) )
@@ -212,6 +220,7 @@ class Home extends Api
$delegateFrom, $delegateFrom,
$delegateTo, $delegateTo,
$filterCases, $filterCases,
$reviewStatus,
$sort, $sort,
$sendBy $sendBy
); );
@@ -235,6 +244,7 @@ class Home extends Api
* @param string $delegateFrom * @param string $delegateFrom
* @param string $delegateTo * @param string $delegateTo
* @param string $filterCases * @param string $filterCases
* @param string $reviewStatus
* @param string $sort * @param string $sort
* @param string $sendBy * @param string $sendBy
* *
@@ -256,6 +266,7 @@ class Home extends Api
string $delegateFrom = '', string $delegateFrom = '',
string $delegateTo = '', string $delegateTo = '',
string $filterCases = '', string $filterCases = '',
string $reviewStatus = '',
string $sort = 'APP_NUMBER,DESC', string $sort = 'APP_NUMBER,DESC',
string $sendBy = '' string $sendBy = ''
) )
@@ -273,6 +284,7 @@ class Home extends Api
$delegateFrom, $delegateFrom,
$delegateTo, $delegateTo,
$filterCases, $filterCases,
$reviewStatus,
$sort, $sort,
$sendBy $sendBy
); );
@@ -293,6 +305,7 @@ class Home extends Api
* @param int $offset * @param int $offset
* @param string $caseTitle * @param string $caseTitle
* @param string $filterCases * @param string $filterCases
* @param string $reviewStatus
* @param string $sort * @param string $sort
* @param array $request_data * @param array $request_data
* @return array * @return array
@@ -310,6 +323,7 @@ class Home extends Api
int $offset = 0, int $offset = 0,
string $caseTitle = '', string $caseTitle = '',
string $filterCases = '', string $filterCases = '',
string $reviewStatus = '',
string $sort = 'APP_NUMBER,DESC', string $sort = 'APP_NUMBER,DESC',
array $request_data = [] array $request_data = []
) )
@@ -326,6 +340,7 @@ class Home extends Api
$offset, $offset,
$caseTitle, $caseTitle,
$filterCases, $filterCases,
$reviewStatus,
$sort, $sort,
$request_data $request_data
); );
@@ -349,6 +364,7 @@ class Home extends Api
* @param string $delegateFrom * @param string $delegateFrom
* @param string $delegateTo * @param string $delegateTo
* @param string $filterCases * @param string $filterCases
* @param string $reviewStatus
* @param string $sort * @param string $sort
* @param array $request_data * @param array $request_data
* @return array * @return array
@@ -369,6 +385,7 @@ class Home extends Api
string $delegateFrom = '', string $delegateFrom = '',
string $delegateTo = '', string $delegateTo = '',
string $filterCases = '', string $filterCases = '',
string $reviewStatus = '',
string $sort = 'APP_NUMBER,DESC', string $sort = 'APP_NUMBER,DESC',
array $request_data = [] array $request_data = []
) )
@@ -387,6 +404,7 @@ class Home extends Api
$delegateFrom, $delegateFrom,
$delegateTo, $delegateTo,
$filterCases, $filterCases,
$reviewStatus,
$sort, $sort,
$sendBy, $sendBy,
$request_data $request_data
@@ -411,6 +429,7 @@ class Home extends Api
* @param string $delegateFrom * @param string $delegateFrom
* @param string $delegateTo * @param string $delegateTo
* @param string $filterCases * @param string $filterCases
* @param string $reviewStatus
* @param string $sort * @param string $sort
* @param array $request_data * @param array $request_data
* @return array * @return array
@@ -431,6 +450,7 @@ class Home extends Api
string $delegateFrom = '', string $delegateFrom = '',
string $delegateTo = '', string $delegateTo = '',
string $filterCases = '', string $filterCases = '',
string $reviewStatus = '',
string $sort = 'APP_NUMBER,DESC', string $sort = 'APP_NUMBER,DESC',
array $request_data = [] array $request_data = []
) )
@@ -449,6 +469,7 @@ class Home extends Api
$delegateFrom, $delegateFrom,
$delegateTo, $delegateTo,
$filterCases, $filterCases,
$reviewStatus,
$sort, $sort,
$sendBy, $sendBy,
$request_data $request_data
@@ -473,6 +494,7 @@ class Home extends Api
* @param string $delegateFrom * @param string $delegateFrom
* @param string $delegateTo * @param string $delegateTo
* @param string $filterCases * @param string $filterCases
* @param string $reviewStatus
* @param string $sort * @param string $sort
* @param array $request_data * @param array $request_data
* @return array * @return array
@@ -493,6 +515,7 @@ class Home extends Api
string $delegateFrom = '', string $delegateFrom = '',
string $delegateTo = '', string $delegateTo = '',
string $filterCases = '', string $filterCases = '',
string $reviewStatus = '',
string $sort = 'APP_NUMBER,DESC', string $sort = 'APP_NUMBER,DESC',
array $request_data = [] array $request_data = []
) )
@@ -511,6 +534,7 @@ class Home extends Api
$delegateFrom, $delegateFrom,
$delegateTo, $delegateTo,
$filterCases, $filterCases,
$reviewStatus,
$sort, $sort,
$sendBy, $sendBy,
$request_data $request_data