* Finish task#40513. Adjust program progress display style.

This commit is contained in:
qiyu-xie
2021-07-26 09:59:12 +08:00
parent b4833f74e8
commit 60e9643246
2 changed files with 16 additions and 0 deletions
+14
View File
@@ -247,6 +247,7 @@ class programModel extends model
{
$TotalProgress = array();
$projectCount = array();
$viewPrjCount = array();
$progressList = array();
$programPairs = $this->getPairs();
$projectStats = $this->getProjectStats(0, 'all', 0, 'id_desc', null, 0, 0, true);
@@ -256,16 +257,29 @@ class programModel extends model
{
$TotalProgress[$programID] = 0;
$projectCount[$programID] = 0;
$viewPrjCount[$programID] = 0;
$progressList[$programID] = 0;
foreach($projectStats as $project)
{
if(strpos($project->path, ',' . $programID . ',') === false) continue;
/* The number of projects under this program that the user can view. */
if(strpos(',' . $this->app->user->view->projects . ',', ',' . $project->id . ',') !== false) $viewPrjCount[$programID]++;
$TotalProgress[$programID] += $project->hours->progress;
$projectCount[$programID]++;
}
if(empty($projectCount[$programID])) continue;
/* Program progress can't see when this user don't have all projects priv. */
if(!$this->app->user->admin and $viewPrjCount[$programID] != $projectCount[$programID])
{
unset($progressList[$programID]);
continue;
}
$progressList[$programID] = round($TotalProgress[$programID] / $projectCount[$programID]);
}