summaryrefslogtreecommitdiff
path: root/app/Model
diff options
context:
space:
mode:
authorMatthew Cillo <matthewacillo@gmail.com>2015-12-07 22:40:55 -0500
committerMatthew Cillo <matthewacillo@gmail.com>2015-12-07 22:45:12 -0500
commit583e6bf064bbbdd0b031ea429fb1de949ddf64a7 (patch)
treef88aed231d898172fb2c37b87e9c5310d2de1985 /app/Model
parent78fd4d3ee9940bde6d0bef8c611c6a19595e81fd (diff)
added working template of compare hours
Diffstat (limited to 'app/Model')
-rw-r--r--app/Model/ProjectAnalytic.php40
-rw-r--r--app/Model/TaskFinder.php1
2 files changed, 41 insertions, 0 deletions
diff --git a/app/Model/ProjectAnalytic.php b/app/Model/ProjectAnalytic.php
index e77a0368..8a982bd7 100644
--- a/app/Model/ProjectAnalytic.php
+++ b/app/Model/ProjectAnalytic.php
@@ -179,4 +179,44 @@ class ProjectAnalytic extends Base
return $stats;
}
+
+
+ public function getHoursByStatus($project_id)
+ {
+ $stats = array();
+ $columns = $this->board->getColumnsList($project_id);
+
+ // Get the time spent of the last move for each tasks
+ $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,
+ );
+
+
+ // Get time spent foreach task/column and take into account the last move
+ 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;
+ }
}
diff --git a/app/Model/TaskFinder.php b/app/Model/TaskFinder.php
index 9514fe4a..836fbe46 100644
--- a/app/Model/TaskFinder.php
+++ b/app/Model/TaskFinder.php
@@ -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',