From f39fe4d8db2d7fc6443c68aefff60f3eafcdf602 Mon Sep 17 00:00:00 2001 From: George Andrinopoulos Date: Sun, 29 Oct 2017 22:58:49 +0200 Subject: Add total time spent to milestones --- app/models/global_milestone.rb | 8 ++++++++ app/models/milestone.rb | 8 ++++++++ app/views/shared/milestones/_sidebar.html.haml | 10 ++++++++++ 3 files changed, 26 insertions(+) (limited to 'app') diff --git a/app/models/global_milestone.rb b/app/models/global_milestone.rb index c0864769314..af4780f78d0 100644 --- a/app/models/global_milestone.rb +++ b/app/models/global_milestone.rb @@ -152,4 +152,12 @@ class GlobalMilestone @milestones.first.start_date end end + + def total_time_spent + issues.joins(:timelogs).sum(:time_spent) + merge_requests.joins(:timelogs).sum(:time_spent) + end + + def human_total_time_spent + Gitlab::TimeTrackingFormatter.output(total_time_spent) || 0 + end end diff --git a/app/models/milestone.rb b/app/models/milestone.rb index 47e6b785c39..5e174a15c91 100644 --- a/app/models/milestone.rb +++ b/app/models/milestone.rb @@ -213,6 +213,14 @@ class Milestone < ActiveRecord::Base project_id.present? end + def total_time_spent + issues.joins(:timelogs).sum(:time_spent) + merge_requests.joins(:timelogs).sum(:time_spent) + end + + def human_total_time_spent + Gitlab::TimeTrackingFormatter.output(total_time_spent) || 0 + end + private # Milestone titles must be unique across project milestones and group milestones diff --git a/app/views/shared/milestones/_sidebar.html.haml b/app/views/shared/milestones/_sidebar.html.haml index f03e0ab154c..6267151f460 100644 --- a/app/views/shared/milestones/_sidebar.html.haml +++ b/app/views/shared/milestones/_sidebar.html.haml @@ -85,6 +85,16 @@ Closed: = milestone.issues_visible_to_user(current_user).closed.count + .block.time_spent + .sidebar-collapsed-icon + %strong + = custom_icon('icon_clock_o') + %span= milestone.human_total_time_spent + .title.hide-collapsed + Total time spent + .value.hide-collapsed + = milestone.human_total_time_spent + .block.merge-requests .sidebar-collapsed-icon %strong -- cgit v1.2.1 From d8462638e1b6faefe49c87c84ed819d525781a84 Mon Sep 17 00:00:00 2001 From: George Andrinopoulos Date: Thu, 2 Nov 2017 22:03:50 +0200 Subject: Fix collapsed sidebar messages and icon --- app/models/global_milestone.rb | 2 +- app/models/milestone.rb | 2 +- app/views/shared/icons/_icon_hourglass.svg | 1 + app/views/shared/milestones/_sidebar.html.haml | 14 ++++++++++---- 4 files changed, 13 insertions(+), 6 deletions(-) create mode 100644 app/views/shared/icons/_icon_hourglass.svg (limited to 'app') diff --git a/app/models/global_milestone.rb b/app/models/global_milestone.rb index af4780f78d0..18af3c41d61 100644 --- a/app/models/global_milestone.rb +++ b/app/models/global_milestone.rb @@ -158,6 +158,6 @@ class GlobalMilestone end def human_total_time_spent - Gitlab::TimeTrackingFormatter.output(total_time_spent) || 0 + Gitlab::TimeTrackingFormatter.output(total_time_spent) end end diff --git a/app/models/milestone.rb b/app/models/milestone.rb index 5e174a15c91..fa2dfcb694b 100644 --- a/app/models/milestone.rb +++ b/app/models/milestone.rb @@ -218,7 +218,7 @@ class Milestone < ActiveRecord::Base end def human_total_time_spent - Gitlab::TimeTrackingFormatter.output(total_time_spent) || 0 + Gitlab::TimeTrackingFormatter.output(total_time_spent) end private diff --git a/app/views/shared/icons/_icon_hourglass.svg b/app/views/shared/icons/_icon_hourglass.svg new file mode 100644 index 00000000000..fe7e497ce13 --- /dev/null +++ b/app/views/shared/icons/_icon_hourglass.svg @@ -0,0 +1 @@ + diff --git a/app/views/shared/milestones/_sidebar.html.haml b/app/views/shared/milestones/_sidebar.html.haml index 6267151f460..65e70f13055 100644 --- a/app/views/shared/milestones/_sidebar.html.haml +++ b/app/views/shared/milestones/_sidebar.html.haml @@ -87,13 +87,19 @@ .block.time_spent .sidebar-collapsed-icon - %strong - = custom_icon('icon_clock_o') - %span= milestone.human_total_time_spent + = custom_icon('icon_hourglass') + %span.collapsed-milestone-total-time-spent + - if milestone.human_total_time_spent + = milestone.human_total_time_spent + - else + None .title.hide-collapsed Total time spent .value.hide-collapsed - = milestone.human_total_time_spent + - if milestone.human_total_time_spent + %span.bold= milestone.human_total_time_spent + -else + %span.no-value No time spent .block.merge-requests .sidebar-collapsed-icon -- cgit v1.2.1 From 2f9c23eb7e594c40bee0e66b111132d1481af1a3 Mon Sep 17 00:00:00 2001 From: George Andrinopoulos Date: Fri, 3 Nov 2017 06:56:41 +0200 Subject: Fix static code analysis offence --- app/views/shared/milestones/_sidebar.html.haml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'app') diff --git a/app/views/shared/milestones/_sidebar.html.haml b/app/views/shared/milestones/_sidebar.html.haml index 65e70f13055..e244adf7d52 100644 --- a/app/views/shared/milestones/_sidebar.html.haml +++ b/app/views/shared/milestones/_sidebar.html.haml @@ -98,7 +98,7 @@ .value.hide-collapsed - if milestone.human_total_time_spent %span.bold= milestone.human_total_time_spent - -else + - else %span.no-value No time spent .block.merge-requests -- cgit v1.2.1 From 561693ad173b22dab54a0fdd5446f7637095272a Mon Sep 17 00:00:00 2001 From: George Andrinopoulos Date: Mon, 6 Nov 2017 20:18:20 +0200 Subject: Move total time spend calculation to milestoneish --- app/models/concerns/milestoneish.rb | 8 ++++++++ app/models/global_milestone.rb | 8 -------- app/models/milestone.rb | 8 -------- app/views/shared/milestones/_sidebar.html.haml | 10 +++++----- 4 files changed, 13 insertions(+), 21 deletions(-) (limited to 'app') diff --git a/app/models/concerns/milestoneish.rb b/app/models/concerns/milestoneish.rb index 710fc1ed647..7fe55f8402f 100644 --- a/app/models/concerns/milestoneish.rb +++ b/app/models/concerns/milestoneish.rb @@ -86,6 +86,14 @@ module Milestoneish false end + def total_issue_time_spent + issues.joins(:timelogs).sum(:time_spent) + end + + def human_total_issue_time_spent + Gitlab::TimeTrackingFormatter.output(total_issue_time_spent) + end + private def count_issues_by_state(user) diff --git a/app/models/global_milestone.rb b/app/models/global_milestone.rb index 18af3c41d61..c0864769314 100644 --- a/app/models/global_milestone.rb +++ b/app/models/global_milestone.rb @@ -152,12 +152,4 @@ class GlobalMilestone @milestones.first.start_date end end - - def total_time_spent - issues.joins(:timelogs).sum(:time_spent) + merge_requests.joins(:timelogs).sum(:time_spent) - end - - def human_total_time_spent - Gitlab::TimeTrackingFormatter.output(total_time_spent) - end end diff --git a/app/models/milestone.rb b/app/models/milestone.rb index fa2dfcb694b..47e6b785c39 100644 --- a/app/models/milestone.rb +++ b/app/models/milestone.rb @@ -213,14 +213,6 @@ class Milestone < ActiveRecord::Base project_id.present? end - def total_time_spent - issues.joins(:timelogs).sum(:time_spent) + merge_requests.joins(:timelogs).sum(:time_spent) - end - - def human_total_time_spent - Gitlab::TimeTrackingFormatter.output(total_time_spent) - end - private # Milestone titles must be unique across project milestones and group milestones diff --git a/app/views/shared/milestones/_sidebar.html.haml b/app/views/shared/milestones/_sidebar.html.haml index e244adf7d52..d396e80e12c 100644 --- a/app/views/shared/milestones/_sidebar.html.haml +++ b/app/views/shared/milestones/_sidebar.html.haml @@ -89,15 +89,15 @@ .sidebar-collapsed-icon = custom_icon('icon_hourglass') %span.collapsed-milestone-total-time-spent - - if milestone.human_total_time_spent - = milestone.human_total_time_spent + - if milestone.human_total_issue_time_spent + = milestone.human_total_issue_time_spent - else None .title.hide-collapsed - Total time spent + Total issue time spent .value.hide-collapsed - - if milestone.human_total_time_spent - %span.bold= milestone.human_total_time_spent + - if milestone.human_total_issue_time_spent + %span.bold= milestone.human_total_issue_time_spent - else %span.no-value No time spent -- cgit v1.2.1 From 8f6b3d7452447b5ef6c669c2ff5ad3b394e27dea Mon Sep 17 00:00:00 2001 From: George Andrinopoulos Date: Fri, 10 Nov 2017 22:18:42 +0200 Subject: Add externalized strings --- app/models/concerns/milestoneish.rb | 2 +- app/views/shared/milestones/_sidebar.html.haml | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) (limited to 'app') diff --git a/app/models/concerns/milestoneish.rb b/app/models/concerns/milestoneish.rb index 7fe55f8402f..7026f565706 100644 --- a/app/models/concerns/milestoneish.rb +++ b/app/models/concerns/milestoneish.rb @@ -87,7 +87,7 @@ module Milestoneish end def total_issue_time_spent - issues.joins(:timelogs).sum(:time_spent) + @total_issue_time_spent ||= issues.joins(:timelogs).sum(:time_spent) end def human_total_issue_time_spent diff --git a/app/views/shared/milestones/_sidebar.html.haml b/app/views/shared/milestones/_sidebar.html.haml index d396e80e12c..4f51455c26e 100644 --- a/app/views/shared/milestones/_sidebar.html.haml +++ b/app/views/shared/milestones/_sidebar.html.haml @@ -92,14 +92,14 @@ - if milestone.human_total_issue_time_spent = milestone.human_total_issue_time_spent - else - None + = _("None") .title.hide-collapsed - Total issue time spent + = _("Total issue time spent") .value.hide-collapsed - if milestone.human_total_issue_time_spent %span.bold= milestone.human_total_issue_time_spent - else - %span.no-value No time spent + %span.no-value= _("No time spent") .block.merge-requests .sidebar-collapsed-icon -- cgit v1.2.1