mirror of
				https://git.code.sf.net/p/seeddms/code
				synced 2025-10-31 13:18:06 +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; | ||||
| 	} /* }}} */ | ||||
| 
 | ||||
| 	/** | ||||
| 	 * 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 | ||||
| 	 * | ||||
|  |  | |||
|  | @ -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; | ||||
| 							} | ||||
| 						} | ||||
| 					}, | ||||
|  |  | |||
|  | @ -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; | ||||
| 							} | ||||
| 						} | ||||
| 					}, | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Uwe Steinmann
						Uwe Steinmann