diff --git a/module/project/model.php b/module/project/model.php index b410c9ad3d..f658978c84 100644 --- a/module/project/model.php +++ b/module/project/model.php @@ -279,7 +279,14 @@ class projectModel extends model /* Get total estimate, consumed and left hours of project. */ $emptyHour = (object)array('totalEstimate' => 0, 'totalConsumed' => 0, 'totalLeft' => 0, 'progress' => 0); - $hours = $this->dao->select('project, SUM(estimate) AS totalEstimate, SUM(consumed) AS totalConsumed, SUM(`left`) AS totalLeft') + $hours = $this->dao->select('project, SUM(estimate) AS totalEstimate, SUM(consumed) AS totalConsumed') + ->from(TABLE_TASK) + ->where('project')->in(array_keys($projects)) + ->andWhere('deleted')->eq(0) + ->groupBy('project') + ->fetchAll('project'); + + $lefts = $this->dao->select('project, SUM(`left`) AS totalLeft') ->from(TABLE_TASK) ->where('project')->in(array_keys($projects)) ->andWhere('closedReason')->ne('cancel') @@ -287,6 +294,7 @@ class projectModel extends model ->andWhere('deleted')->eq(0) ->groupBy('project') ->fetchAll('project'); + foreach($lefts as $projectID => $projectLefts) $hours[$projectID]->totalLeft = $projectLefts->totalLeft; /* Round them. */ foreach($hours as $hour) diff --git a/module/project/view/task.html.php b/module/project/view/task.html.php index 58e361b8f8..5d55f37e92 100644 --- a/module/project/view/task.html.php +++ b/module/project/view/task.html.php @@ -52,22 +52,22 @@ var browseType = ''; estimate; $totalConsumed += $task->consumed; - $totalLeft += ($task->status == 'cancel' ? 0 : $task->left); + $totalLeft += (($task->status == 'cancel' or $task->closedReason == 'cancel') ? 0 : $task->left); if($task->status == 'wait') { - $statusWait++; + $statusWait ++; } elseif($task->status == 'doing') { - $statusDoing++; + $statusDoing ++; } elseif($task->status == 'done') { - $statusDone++; + $statusDone ++; } elseif($task->status == 'closed') { - $statusClosed++; + $statusClosed ++; } ?>