countTasks takes workflow mode and tasksinmenu into account

This commit is contained in:
Uwe Steinmann 2018-03-29 16:30:46 +02:00
parent 2259acc3f2
commit c0c9f755a8

View File

@ -133,12 +133,29 @@ class SeedDMS_View_Tasks extends SeedDMS_Bootstrap_Style {
function countTasks() { /* {{{ */
$dms = $this->params['dms'];
$user = $this->params['user'];
$workflowmode = $this->params['workflowmode'];
$tasksinmenu = $this->params['tasksinmenu'];
$startts = microtime(true);
$tasks = array();
$tasks['review'] = $dms->countTasks('ReviewByMe', $user);
if($workflowmode == 'traditional' || $workflowmode == 'traditional_only_approval')
if(!$tasksinmenu || in_array('approval', $tasksinmenu)) {
$tasks['approval'] = $dms->countTasks('ApproveByMe', $user);
}
if($workflowmode == 'traditional')
if(!$tasksinmenu || in_array('review', $tasksinmenu)) {
$tasks['review'] = $dms->countTasks('ReviewByMe', $user);
}
if($workflowmode == 'advanced')
if(!$tasksinmenu || in_array('workflow', $tasksinmenu)) {
$tasks['workflow'] = $dms->countTasks('WorkflowByMe', $user);
}
if(!$tasksinmenu || in_array('receipt', $tasksinmenu))
$tasks['receipt'] = $dms->countTasks('ReceiptByMe', $user);
if(!$tasksinmenu || in_array('revision', $tasksinmenu))
$tasks['revision'] = $dms->countTasks('ReviseByMe', $user);
if(!$tasksinmenu || in_array('needscorrection', $tasksinmenu))
$tasks['needscorrection'] = $dms->countTasks('NeedsCorrectionOwner', $user);
header('Content-Type: application/json');
echo json_encode(array('error'=>0, 'data'=>$tasks, 'processing_time'=>microtime(true)-$startts));