Merge pull-request #1528

This commit is contained in:
Frederic Guillot
2015-12-14 21:54:40 -05:00
8 changed files with 182 additions and 2 deletions

View File

@@ -179,4 +179,49 @@ class ProjectAnalytic extends Base
return $stats;
}
/**
* Get the time spent and estimated into each status
*
* @access public
* @param integer $project_id
* @return array
*/
public function getHoursByStatus($project_id)
{
$stats = array();
// Get the times related to each task
$tasks = $this->db
->table(Task::TABLE)
->columns('id', 'time_estimated', 'time_spent', 'is_active')
->eq('project_id', $project_id)
->desc('id')
->limit(1000)
->findAll();
// Init values
$stats['closed'] = array(
'time_spent' => 0,
'time_estimated' => 0,
);
$stats['open'] = array(
'time_spent' => 0,
'time_estimated' => 0,
);
// Add times spent and estimated to each status
foreach ($tasks as &$task) {
if ($task['is_active']) {
$stats['open']['time_estimated'] += $task['time_estimated'];
$stats['open']['time_spent'] += $task['time_spent'];
} else {
$stats['closed']['time_estimated'] += $task['time_estimated'];
$stats['closed']['time_spent'] += $task['time_spent'];
}
}
return $stats;
}
}

View File

@@ -122,6 +122,7 @@ class TaskFinder extends Base
'tasks.recurrence_parent',
'tasks.recurrence_child',
'tasks.time_estimated',
'tasks.time_spent',
User::TABLE.'.username AS assignee_username',
User::TABLE.'.name AS assignee_name',
Category::TABLE.'.name AS category_name',