| | <?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; |
| | } |
| | } |
| |
|