|
<?php |
|
|
|
namespace Kanboard\Analytic; |
|
|
|
use Kanboard\Core\Base; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class TaskDistributionAnalytic extends Base |
|
{ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public function build($project_id) |
|
{ |
|
$metrics = array(); |
|
$total = 0; |
|
$columns = $this->columnModel->getAll($project_id); |
|
|
|
foreach ($columns as $column) { |
|
$nb_tasks = $this->taskFinderModel->countByColumnId($project_id, $column['id']); |
|
$total += $nb_tasks; |
|
|
|
$metrics[] = array( |
|
'column_title' => $column['title'], |
|
'nb_tasks' => $nb_tasks, |
|
); |
|
} |
|
|
|
if ($total === 0) { |
|
return array(); |
|
} |
|
|
|
foreach ($metrics as &$metric) { |
|
$metric['percentage'] = round(($metric['nb_tasks'] * 100) / $total, 2); |
|
} |
|
|
|
return $metrics; |
|
} |
|
} |
|
|