mirror of
https://git.code.sf.net/p/seeddms/code
synced 2025-03-12 17:05:46 +00:00
optimize counting tasks
This commit is contained in:
parent
9573d473e9
commit
bbfd144906
|
@ -112,6 +112,38 @@ class SeedDMS_View_Tasks extends SeedDMS_Theme_Style {
|
||||||
return $tasks;
|
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
|
* Returns the html needed for the task list in the menu
|
||||||
*
|
*
|
||||||
|
|
|
@ -1618,17 +1618,17 @@ $(document).ready(function() { /* {{{ */
|
||||||
$.ajax({url: seeddms_webroot+'out/out.Tasks.php',
|
$.ajax({url: seeddms_webroot+'out/out.Tasks.php',
|
||||||
type: 'GET',
|
type: 'GET',
|
||||||
dataType: "json",
|
dataType: "json",
|
||||||
data: {action: 'mytasks'},
|
data: {action: 'counttasks'},
|
||||||
success: function(data) {
|
success: function(data) {
|
||||||
if(data) {
|
if(data) {
|
||||||
if((typeof data.data.approval != 'undefined' && approval_count != data.data.approval.length) ||
|
if((typeof data.data.approval != 'undefined' && approval_count != data.data.approval) ||
|
||||||
(typeof data.data.review != 'undefined' && review_count != data.data.review.length) ||
|
(typeof data.data.review != 'undefined' && review_count != data.data.review) ||
|
||||||
(typeof data.data.workflow != 'undefined' && workflow_count != data.data.workflow.length)) {
|
(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").html('Loading').hide().load('../out/out.Tasks.php?action=menutasks').fadeIn('500')
|
||||||
$('#menu-tasks > div.ajax').trigger('update', {folderid: seeddms_folder});
|
$('#menu-tasks > div.ajax').trigger('update', {folderid: seeddms_folder});
|
||||||
approval_count = typeof data.data.approval != 'undefined' ? data.data.approval.length : 0;
|
approval_count = typeof data.data.approval != 'undefined' ? data.data.approval : 0;
|
||||||
review_count = typeof data.data.review != 'undefined' ? data.data.review.length : 0;
|
review_count = typeof data.data.review != 'undefined' ? data.data.review : 0;
|
||||||
workflow_count = typeof data.data.workflow != 'undefined' ? data.data.workflow.length : 0;
|
workflow_count = typeof data.data.workflow != 'undefined' ? data.data.workflow : 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -1697,17 +1697,17 @@ $(document).ready(function() { /* {{{ */
|
||||||
$.ajax({url: seeddms_webroot+'out/out.Tasks.php',
|
$.ajax({url: seeddms_webroot+'out/out.Tasks.php',
|
||||||
type: 'GET',
|
type: 'GET',
|
||||||
dataType: "json",
|
dataType: "json",
|
||||||
data: {action: 'mytasks'},
|
data: {action: 'counttasks'},
|
||||||
success: function(data) {
|
success: function(data) {
|
||||||
if(data) {
|
if(data) {
|
||||||
if((typeof data.data.approval != 'undefined' && approval_count != data.data.approval.length) ||
|
if((typeof data.data.approval != 'undefined' && approval_count != data.data.approval) ||
|
||||||
(typeof data.data.review != 'undefined' && review_count != data.data.review.length) ||
|
(typeof data.data.review != 'undefined' && review_count != data.data.review) ||
|
||||||
(typeof data.data.workflow != 'undefined' && workflow_count != data.data.workflow.length)) {
|
(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").html('Loading').hide().load('../out/out.Tasks.php?action=menutasks').fadeIn('500')
|
||||||
$('#menu-tasks > div.ajax').trigger('update', {folderid: seeddms_folder});
|
$('#menu-tasks > div.ajax').trigger('update', {folderid: seeddms_folder});
|
||||||
approval_count = typeof data.data.approval != 'undefined' ? data.data.approval.length : 0;
|
approval_count = typeof data.data.approval != 'undefined' ? data.data.approval : 0;
|
||||||
review_count = typeof data.data.review != 'undefined' ? data.data.review.length : 0;
|
review_count = typeof data.data.review != 'undefined' ? data.data.review : 0;
|
||||||
workflow_count = typeof data.data.workflow != 'undefined' ? data.data.workflow.length : 0;
|
workflow_count = typeof data.data.workflow != 'undefined' ? data.data.workflow : 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
Loading…
Reference in New Issue
Block a user