Add graph for user repartition
This commit is contained in:
@@ -11,7 +11,7 @@ namespace Model;
|
||||
class ProjectAnalytic extends Base
|
||||
{
|
||||
/**
|
||||
* Get task repartition
|
||||
* Get tasks repartition
|
||||
*
|
||||
* @access public
|
||||
* @param integer $project_id Project id
|
||||
@@ -40,4 +40,41 @@ class ProjectAnalytic extends Base
|
||||
|
||||
return $metrics;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get users repartition
|
||||
*
|
||||
* @access public
|
||||
* @param integer $project_id Project id
|
||||
* @return array
|
||||
*/
|
||||
public function getUserRepartition($project_id)
|
||||
{
|
||||
$metrics = array();
|
||||
$total = 0;
|
||||
$tasks = $this->taskFinder->getAll($project_id);
|
||||
$users = $this->projectPermission->getMemberList($project_id);
|
||||
|
||||
foreach ($tasks as $task) {
|
||||
|
||||
$user = $users[$task['owner_id']];
|
||||
$total++;
|
||||
|
||||
if (! isset($metrics[$user])) {
|
||||
$metrics[$user] = array(
|
||||
'nb_tasks' => 0,
|
||||
'percentage' => 0,
|
||||
'user' => $user,
|
||||
);
|
||||
}
|
||||
|
||||
$metrics[$user]['nb_tasks']++;
|
||||
}
|
||||
|
||||
foreach ($metrics as &$metric) {
|
||||
$metric['percentage'] = round(($metric['nb_tasks'] * 100) / $total, 2);
|
||||
}
|
||||
|
||||
return array_values($metrics);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user