From 1d4744f1082c857e4fc8f3ea7f81e4a28b7530a6 Mon Sep 17 00:00:00 2001
From: Trevor Vallender
Date: Tue, 21 Nov 2023 14:37:11 +0000
Subject: [PATCH] Show logged time on jobs
---
app/models/job.rb | 10 ++++++++--
app/views/jobs/_form.html.erb | 2 --
app/views/jobs/show.html.erb | 6 ++++++
3 files changed, 14 insertions(+), 4 deletions(-)
diff --git a/app/models/job.rb b/app/models/job.rb
index 7df26bf..c7c474a 100644
--- a/app/models/job.rb
+++ b/app/models/job.rb
@@ -8,7 +8,13 @@ class Job < ActiveRecord::Base
scope :project, ->(project) { where(project_id: project.id) }
- def time_logged
- 42
+ def total_time_logged
+ TimeEntry.where(job_id: id)
+ .sum(:hours)
+ end
+
+ def total_time_logged_for(activity)
+ TimeEntry.where(job_id: id, activity_id: activity.id)
+ .sum(:hours)
end
end
diff --git a/app/views/jobs/_form.html.erb b/app/views/jobs/_form.html.erb
index 64afb95..ba87b6f 100644
--- a/app/views/jobs/_form.html.erb
+++ b/app/views/jobs/_form.html.erb
@@ -20,9 +20,7 @@
<%= f.date_field :ends_on %>
-
<%= f.hidden_field :project_id, value: @project.id %>
-
<%= f.label :external_project_id %>
diff --git a/app/views/jobs/show.html.erb b/app/views/jobs/show.html.erb
index 407e651..93f2765 100644
--- a/app/views/jobs/show.html.erb
+++ b/app/views/jobs/show.html.erb
@@ -6,6 +6,12 @@
<%= @job.starts_on %>
Ends on:
<%= @job.ends_on %>
+ Total time logged:
+ <%= @job.total_time_logged %>
+ <% TimeEntryActivity.all.each do |activity| %>
+ Total time logged for <%= activity.name %>
+ <%= @job.total_time_logged_for(activity) %>
+ <% end %>
<%= link_to 'Edit job', edit_job_path(@job, project_id: @project.id) %>