diff --git a/views/bootstrap/class.Tasks.php b/views/bootstrap/class.Tasks.php index 05887b94c..f28876dc5 100644 --- a/views/bootstrap/class.Tasks.php +++ b/views/bootstrap/class.Tasks.php @@ -112,6 +112,38 @@ class SeedDMS_View_Tasks extends SeedDMS_Theme_Style { return $tasks; } /* }}} */ + /** + * Returns the number of tasks + * + * @return array list of tasks an its number + */ + function countTasks() { /* {{{ */ + $dms = $this->params['dms']; + $user = $this->params['user']; + $enablereceiptworkflow = $this->params['enablereceiptworkflow']; + $enablerevisionworkflow = $this->params['enablerevisionworkflow']; + $workflowmode = $this->params['workflowmode']; + $tasksinmenu = $this->params['tasksinmenu']; + + $startts = microtime(true); + $tasks = array(); + 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); + } + + header('Content-Type: application/json'); + echo json_encode(array('error'=>0, 'data'=>$tasks, 'processing_time'=>microtime(true)-$startts)); + } /* }}} */ + /** * Returns the html needed for the task list in the menu * diff --git a/views/bootstrap/styles/application.js b/views/bootstrap/styles/application.js index 42d384e66..ab620ee06 100644 --- a/views/bootstrap/styles/application.js +++ b/views/bootstrap/styles/application.js @@ -1618,17 +1618,17 @@ $(document).ready(function() { /* {{{ */ $.ajax({url: seeddms_webroot+'out/out.Tasks.php', type: 'GET', dataType: "json", - data: {action: 'mytasks'}, + data: {action: 'counttasks'}, success: function(data) { if(data) { - if((typeof data.data.approval != 'undefined' && approval_count != data.data.approval.length) || - (typeof data.data.review != 'undefined' && review_count != data.data.review.length) || - (typeof data.data.workflow != 'undefined' && workflow_count != data.data.workflow.length)) { + if((typeof data.data.approval != 'undefined' && approval_count != data.data.approval) || + (typeof data.data.review != 'undefined' && review_count != data.data.review) || + (typeof data.data.workflow != 'undefined' && workflow_count != data.data.workflow)) { // $("#menu-tasks").html('Loading').hide().load('../out/out.Tasks.php?action=menutasks').fadeIn('500') $('#menu-tasks > div.ajax').trigger('update', {folderid: seeddms_folder}); - approval_count = typeof data.data.approval != 'undefined' ? data.data.approval.length : 0; - review_count = typeof data.data.review != 'undefined' ? data.data.review.length : 0; - workflow_count = typeof data.data.workflow != 'undefined' ? data.data.workflow.length : 0; + approval_count = typeof data.data.approval != 'undefined' ? data.data.approval : 0; + review_count = typeof data.data.review != 'undefined' ? data.data.review : 0; + workflow_count = typeof data.data.workflow != 'undefined' ? data.data.workflow : 0; } } }, diff --git a/views/bootstrap4/styles/application.js b/views/bootstrap4/styles/application.js index 6daecdcfb..221cc4b92 100644 --- a/views/bootstrap4/styles/application.js +++ b/views/bootstrap4/styles/application.js @@ -1697,17 +1697,17 @@ $(document).ready(function() { /* {{{ */ $.ajax({url: seeddms_webroot+'out/out.Tasks.php', type: 'GET', dataType: "json", - data: {action: 'mytasks'}, + data: {action: 'counttasks'}, success: function(data) { if(data) { - if((typeof data.data.approval != 'undefined' && approval_count != data.data.approval.length) || - (typeof data.data.review != 'undefined' && review_count != data.data.review.length) || - (typeof data.data.workflow != 'undefined' && workflow_count != data.data.workflow.length)) { + if((typeof data.data.approval != 'undefined' && approval_count != data.data.approval) || + (typeof data.data.review != 'undefined' && review_count != data.data.review) || + (typeof data.data.workflow != 'undefined' && workflow_count != data.data.workflow)) { // $("#menu-tasks").html('Loading').hide().load('../out/out.Tasks.php?action=menutasks').fadeIn('500') $('#menu-tasks > div.ajax').trigger('update', {folderid: seeddms_folder}); - approval_count = typeof data.data.approval != 'undefined' ? data.data.approval.length : 0; - review_count = typeof data.data.review != 'undefined' ? data.data.review.length : 0; - workflow_count = typeof data.data.workflow != 'undefined' ? data.data.workflow.length : 0; + approval_count = typeof data.data.approval != 'undefined' ? data.data.approval : 0; + review_count = typeof data.data.review != 'undefined' ? data.data.review : 0; + workflow_count = typeof data.data.workflow != 'undefined' ? data.data.workflow : 0; } } },