From eb246cb8c9500942191948910176e830d31edc6b Mon Sep 17 00:00:00 2001 From: Julien Lancelot Date: Mon, 6 May 2013 13:19:53 +0200 Subject: [PATCH] SONAR-3755 Add closed Action Plan list --- .../issues_action_plans_controller.rb | 4 +- .../WEB-INF/app/helpers/application_helper.rb | 5 -- .../src/main/webapp/WEB-INF/app/models/api.rb | 4 -- .../webapp/WEB-INF/app/models/api/utils.rb | 5 ++ .../WEB-INF/app/views/issue/_issue.html.erb | 4 +- .../views/issues_action_plans/index.html.erb | 59 +++++++++++++++++-- .../app/views/resource/_issue.html.erb | 2 +- 7 files changed, 65 insertions(+), 18 deletions(-) diff --git a/sonar-server/src/main/webapp/WEB-INF/app/controllers/issues_action_plans_controller.rb b/sonar-server/src/main/webapp/WEB-INF/app/controllers/issues_action_plans_controller.rb index 72c75954561..1929d4ff32d 100644 --- a/sonar-server/src/main/webapp/WEB-INF/app/controllers/issues_action_plans_controller.rb +++ b/sonar-server/src/main/webapp/WEB-INF/app/controllers/issues_action_plans_controller.rb @@ -97,8 +97,8 @@ class IssuesActionPlansController < ApplicationController def load_action_plans # TODO sort open by deadline ASC and closed by deadline DESC action_plans = Internal.issues.actionPlanStats(@resource.key) - @open_action_plans = action_plans.select {|action_plan| action_plan.status == 'OPEN'} - @closed_action_plans = action_plans.select {|action_plan| action_plan.status == 'CLOSED'} + @open_action_plans = action_plans.select {|action_plan| action_plan.isOpen()} + @closed_action_plans = action_plans.select {|action_plan| !action_plan.isOpen()} end end diff --git a/sonar-server/src/main/webapp/WEB-INF/app/helpers/application_helper.rb b/sonar-server/src/main/webapp/WEB-INF/app/helpers/application_helper.rb index 450f07d2257..ee37275ad4a 100644 --- a/sonar-server/src/main/webapp/WEB-INF/app/helpers/application_helper.rb +++ b/sonar-server/src/main/webapp/WEB-INF/app/helpers/application_helper.rb @@ -828,9 +828,4 @@ module ApplicationHelper html end - # TODO move to Api - def to_date(java_date) - java_date ? Time.at(java_date.time/1000) : nil - end - end diff --git a/sonar-server/src/main/webapp/WEB-INF/app/models/api.rb b/sonar-server/src/main/webapp/WEB-INF/app/models/api.rb index 80b4ca6155f..101ef78aa3d 100644 --- a/sonar-server/src/main/webapp/WEB-INF/app/models/api.rb +++ b/sonar-server/src/main/webapp/WEB-INF/app/models/api.rb @@ -27,8 +27,4 @@ class Api Internal.issues_api end - def self.to_date(java_date) - java_date ? Time.at(java_date.time/1000) : nil - end - end diff --git a/sonar-server/src/main/webapp/WEB-INF/app/models/api/utils.rb b/sonar-server/src/main/webapp/WEB-INF/app/models/api/utils.rb index 14eae5135c0..87502e4401e 100644 --- a/sonar-server/src/main/webapp/WEB-INF/app/models/api/utils.rb +++ b/sonar-server/src/main/webapp/WEB-INF/app/models/api/utils.rb @@ -33,6 +33,11 @@ class Api::Utils Time.parse(datetime_string) end + # Convert java Date to ruby date + def self.to_date(java_date) + java_date ? Time.at(java_date.time/1000) : nil + end + def self.is_number?(s) true if Float(s) rescue false end diff --git a/sonar-server/src/main/webapp/WEB-INF/app/views/issue/_issue.html.erb b/sonar-server/src/main/webapp/WEB-INF/app/views/issue/_issue.html.erb index 5e413fcf909..6a0c2fb39c1 100644 --- a/sonar-server/src/main/webapp/WEB-INF/app/views/issue/_issue.html.erb +++ b/sonar-server/src/main/webapp/WEB-INF/app/views/issue/_issue.html.erb @@ -73,13 +73,13 @@ <%= message('created') -%>: - <%= l(Api.to_date(@issue.creationDate())) -%> + <%= l(Api::Utils.to_date(@issue.creationDate())) -%> <%= message('updated') -%>: - <%= l(Api.to_date(@issue.updateDate())) if @issue.updateDate() -%> + <%= l(Api::Utils.to_date(@issue.updateDate())) if @issue.updateDate() -%> diff --git a/sonar-server/src/main/webapp/WEB-INF/app/views/issues_action_plans/index.html.erb b/sonar-server/src/main/webapp/WEB-INF/app/views/issues_action_plans/index.html.erb index 2bf43861ea6..61d1e0622b7 100644 --- a/sonar-server/src/main/webapp/WEB-INF/app/views/issues_action_plans/index.html.erb +++ b/sonar-server/src/main/webapp/WEB-INF/app/views/issues_action_plans/index.html.erb @@ -22,14 +22,12 @@ <% end %> <% @open_action_plans.each do |plan| + deadline = Api::Utils.to_date(plan.deadLine()) if plan.deadLine() %> <%= h(plan.name()) -%> - - <% deadline = Api.to_date(plan.deadLine()) if plan.deadLine() %> - - <%= deadline ? deadline.strftime("%d %b %Y") : ' ' -%> + <%= deadline ? deadline.strftime("%d %b %Y") : ' ' -%> <% if plan.totalIssues()==0 %> <%= message('issues_action_plans.no_issues_linked_to_action_plan') -%> @@ -62,6 +60,59 @@ + <% unless @closed_action_plans.empty? %> +

+

<%= message('issues_action_plans.closed_action_plan') -%>

+ + + + + + + + + + + + + + + + <% + @closed_action_plans.each do |plan| + deadline = Api::Utils.to_date(plan.deadLine()) if plan.deadLine() + updated_at = Api::Utils.to_date(plan.updateDate()) + %> + + + + + + <% if plan.totalIssues()==0 %> + + <% else %> + + <% end %> + + <% #TODO replace user login by user name -%> + + + + <% end %> + +
<%= message('issues_action_plans.col.status') -%><%= message('issues_action_plans.col.name') -%><%= message('issues_action_plans.col.due_for') -%><%= message('issues_action_plans.col.closed_on') -%><%= message('issues_action_plans.col.progress') -%><%= message('issues_action_plans.col.description') -%><%= message('issues_action_plans.col.author') -%><%= message('issues_action_plans.col.operations') -%>
<%= h(plan.name) -%><%= deadline ? deadline.strftime("%d %b %Y") : ' ' -%><%= updated_at.strftime("%d %b %Y") -%> + <%= message('issues_action_plans.no_issues_linked_to_action_plan') -%> + + <%= render :partial => 'progress', :locals => {:action_plan => plan} -%> + <%= h(plan.description()) -%><%= h(plan.userLogin()) -%> + <%= link_to message('issues_action_plans.reopen'), + {:action => 'change_status', :id => @resource.id, :plan_key => plan.key}, {:method => 'POST', :class => 'action'} -%> +   + <%= link_to message('delete'), {:action => 'delete', :id => @resource.id, :plan_key => plan.key}, {:method => 'POST', :confirm => message('issues_action_plans.confirm_delete'), :class => 'action'} -%> +
+ + <% end %> + diff --git a/sonar-server/src/main/webapp/WEB-INF/app/views/resource/_issue.html.erb b/sonar-server/src/main/webapp/WEB-INF/app/views/resource/_issue.html.erb index ff817a8bfd9..d17782ac261 100644 --- a/sonar-server/src/main/webapp/WEB-INF/app/views/resource/_issue.html.erb +++ b/sonar-server/src/main/webapp/WEB-INF/app/views/resource/_issue.html.erb @@ -17,7 +17,7 @@ <%= image_tag 'sep12.png' -%>   - <%= distance_of_time_in_words_to_now(to_date(issue.creationDate())) -%> + <%= distance_of_time_in_words_to_now(Api::Utils.to_date(issue.creationDate())) -%>   <% if issue.resolution == 'FALSE-POSITIVE' -- 2.39.5