From 22e1b16c81ddff3088d75da625b9d9469115934c Mon Sep 17 00:00:00 2001 From: Julien Lancelot Date: Mon, 20 Jan 2014 15:32:18 +0100 Subject: [PATCH] Update all links (issues widget, action plan page and email notification) to /issues/search --- .../issue/notification/NewIssuesEmailTemplate.java | 2 +- .../core/widgets/issues/action_plans.html.erb | 3 +-- .../issues/unresolved_issues_per_assignee.html.erb | 6 ++---- .../issues/unresolved_issues_statuses.html.erb | 8 ++++---- .../notification/NewIssuesEmailTemplateTest.java | 2 +- .../webapp/WEB-INF/app/helpers/application_helper.rb | 8 ++++++++ .../app/views/action_plans/_progress.html.erb | 12 ++++++------ .../project/widgets/issues/_issues_list.html.erb | 2 +- 8 files changed, 24 insertions(+), 19 deletions(-) diff --git a/plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/issue/notification/NewIssuesEmailTemplate.java b/plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/issue/notification/NewIssuesEmailTemplate.java index f0c425ab955..a896823ac0c 100644 --- a/plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/issue/notification/NewIssuesEmailTemplate.java +++ b/plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/issue/notification/NewIssuesEmailTemplate.java @@ -89,7 +89,7 @@ public class NewIssuesEmailTemplate extends EmailTemplate { String dateString = notification.getFieldValue(FIELD_PROJECT_DATE); if (projectKey != null && dateString != null) { Date date = DateUtils.parseDateTime(dateString); - String url = String.format("%s/issues/search?componentRoots=%s&createdAt=%s", + String url = String.format("%s/issues/search#componentRoots=%s|createdAt=%s", settings.getServerBaseURL(), encode(projectKey), encode(DateUtils.formatDateTime(date))); sb.append("\n").append("See it in SonarQube: ").append(url).append("\n"); } diff --git a/plugins/sonar-core-plugin/src/main/resources/org/sonar/plugins/core/widgets/issues/action_plans.html.erb b/plugins/sonar-core-plugin/src/main/resources/org/sonar/plugins/core/widgets/issues/action_plans.html.erb index 049808fddfc..8e1a42e73a0 100644 --- a/plugins/sonar-core-plugin/src/main/resources/org/sonar/plugins/core/widgets/issues/action_plans.html.erb +++ b/plugins/sonar-core-plugin/src/main/resources/org/sonar/plugins/core/widgets/issues/action_plans.html.erb @@ -66,8 +66,7 @@ <% if unresolved_issues_size == 0 %> <%= unresolved_issues_size -%> <% else %> - <%= unresolved_issues_size -%> <% end %> diff --git a/plugins/sonar-core-plugin/src/main/resources/org/sonar/plugins/core/widgets/issues/unresolved_issues_per_assignee.html.erb b/plugins/sonar-core-plugin/src/main/resources/org/sonar/plugins/core/widgets/issues/unresolved_issues_per_assignee.html.erb index 08ba140c521..5e1cadae3d9 100644 --- a/plugins/sonar-core-plugin/src/main/resources/org/sonar/plugins/core/widgets/issues/unresolved_issues_per_assignee.html.erb +++ b/plugins/sonar-core-plugin/src/main/resources/org/sonar/plugins/core/widgets/issues/unresolved_issues_per_assignee.html.erb @@ -53,8 +53,7 @@ %> - <%= link_to results.user(assignee).name, - {:controller => 'issues', :action => 'search', :assignees => assignee}.merge(options) -%> + <%= link_to results.user(assignee).name, url_for_issues(options.merge(:assignees => assignee)) -%> <%= '+' if @dashboard_configuration.selected_period? -%><%= count.to_s -%> @@ -72,8 +71,7 @@ %> - <%= link_to message('widget.reviews_per_developer.not_assigned'), - {:controller => 'issues', :action => 'search', :assigned => 'false'}.merge(options) -%> + <%= link_to message('widget.reviews_per_developer.not_assigned'), url_for_issues(options.merge(:assigned => 'false')) -%> <%= '+' if @dashboard_configuration.selected_period? -%><%= counter_no_assignee.to_s -%> diff --git a/plugins/sonar-core-plugin/src/main/resources/org/sonar/plugins/core/widgets/issues/unresolved_issues_statuses.html.erb b/plugins/sonar-core-plugin/src/main/resources/org/sonar/plugins/core/widgets/issues/unresolved_issues_statuses.html.erb index 255ea178eb4..7b54a12bcb9 100644 --- a/plugins/sonar-core-plugin/src/main/resources/org/sonar/plugins/core/widgets/issues/unresolved_issues_statuses.html.erb +++ b/plugins/sonar-core-plugin/src/main/resources/org/sonar/plugins/core/widgets/issues/unresolved_issues_statuses.html.erb @@ -15,7 +15,7 @@

<%= message('issues') -%>

- <%= format_measure(issues, :url => url_for({:controller => 'issues', :action => 'search' }.merge(issues_search_options))) -%> + <%= format_measure(issues, :url => url_for_issues(issues_search_options)) -%> <%= dashboard_configuration.selected_period? ? format_variation(issues) : trend_icon(issues) -%>
@@ -26,7 +26,7 @@

<%= message('issue.status.OPEN') -%>

- <%= format_measure(open_issues, :url => url_for({:controller => 'issues', :action => 'search', :statuses => 'OPEN'}.merge(issues_search_options))) -%> + <%= format_measure(open_issues, :url => url_for_issues(issues_search_options.merge(:statuses => 'OPEN'))) -%> <%= dashboard_configuration.selected_period? ? format_variation(open_issues) : trend_icon(open_issues) -%>
@@ -37,7 +37,7 @@

<%= message('issue.status.REOPENED') -%>

- <%= format_measure(reopened_issues, :url => url_for({:controller => 'issues', :action => 'search', :statuses => 'REOPENED'}.merge(issues_search_options))) -%> + <%= format_measure(reopened_issues, :url => url_for_issues(issues_search_options.merge(:statuses => 'REOPENED'))) -%> <%= dashboard_configuration.selected_period? ? format_variation(reopened_issues) : trend_icon(reopened_issues) -%>
@@ -48,7 +48,7 @@

<%= message('issue.status.CONFIRMED') -%>

- <%= format_measure(confirmed_issues, :url => url_for({:controller => 'issues', :action => 'search', :statuses => 'CONFIRMED'}.merge(issues_search_options))) -%> + <%= format_measure(confirmed_issues, :url => url_for_issues(issues_search_options.merge(:statuses => 'CONFIRMED'))) -%> <%= dashboard_configuration.selected_period? ? format_variation(confirmed_issues) : trend_icon(confirmed_issues) -%>
diff --git a/plugins/sonar-core-plugin/src/test/java/org/sonar/plugins/core/issue/notification/NewIssuesEmailTemplateTest.java b/plugins/sonar-core-plugin/src/test/java/org/sonar/plugins/core/issue/notification/NewIssuesEmailTemplateTest.java index 35d0468f1ef..aa6e4980309 100644 --- a/plugins/sonar-core-plugin/src/test/java/org/sonar/plugins/core/issue/notification/NewIssuesEmailTemplateTest.java +++ b/plugins/sonar-core-plugin/src/test/java/org/sonar/plugins/core/issue/notification/NewIssuesEmailTemplateTest.java @@ -108,7 +108,7 @@ public class NewIssuesEmailTemplateTest { "\n" + " Blocker: 0 Critical: 5 Major: 10 Minor: 3 Info: 1\n" + "\n" + - "See it in SonarQube: http://nemo.sonarsource.org/issues/search?componentRoots=org.apache%3Astruts&createdAt=2010-05-18T14%3A50%3A45%2B0000\n"); + "See it in SonarQube: http://nemo.sonarsource.org/issues/search#componentRoots=org.apache%3Astruts|createdAt=2010-05-18T14%3A50%3A45%2B0000\n"); } @Test 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 15c14f192dd..19ab206e7c1 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 @@ -997,4 +997,12 @@ module ApplicationHelper html end + def url_for_issues(params) + url = ApplicationController.root_context + '/issues/search#' + params.each do |key, value| + url += key.to_s + '=' + value.to_s + '|' + end + url + end + end diff --git a/sonar-server/src/main/webapp/WEB-INF/app/views/action_plans/_progress.html.erb b/sonar-server/src/main/webapp/WEB-INF/app/views/action_plans/_progress.html.erb index cd42fad8718..d0bb4d27463 100644 --- a/sonar-server/src/main/webapp/WEB-INF/app/views/action_plans/_progress.html.erb +++ b/sonar-server/src/main/webapp/WEB-INF/app/views/action_plans/_progress.html.erb @@ -1,19 +1,19 @@ <% unless action_plan.totalIssues()==0 - options = {:controller => 'issues', :action => 'search', :actionPlans => action_plan.key} + options = {:actionPlans => action_plan.key} resolved_issues_link = action_plan.resolvedIssues().to_s - resolved_issues_link = link_to action_plan.resolvedIssues().to_s, options.merge({:resolved => 'true'}) unless action_plan.resolvedIssues()==0 - total_issues_link = link_to action_plan.totalIssues().to_s, options + resolved_issues_link = link_to action_plan.resolvedIssues().to_s, url_for_issues(options.merge(:resolved => 'true')) unless action_plan.resolvedIssues()==0 + total_issues_link = link_to action_plan.totalIssues().to_s, url_for_issues(options) if action_plan.resolvedIssues() > 0 - resolved_issues_url = url_for options.merge({:resolved => 'true'}) + resolved_issues_url = url_for_issues(options.merge({:resolved => 'true'})) percent_resolved = (action_plan.resolvedIssues()*100 / action_plan.totalIssues()).to_i tooltip_resolved = message('action_plans.resolved_issues_x_percent', :params => [percent_resolved.to_s, action_plan.resolvedIssues().to_s]) end if action_plan.unresolvedIssues() > 0 - unresolved_issues_url = url_for options.merge({:resolved => 'false'}) + unresolved_issues_url = url_for_issues(options.merge({:resolved => 'false'})) percent_open = (action_plan.unresolvedIssues()*100 / action_plan.totalIssues()).to_i tooltip_open = message('action_plans.unresolved_issues_x_percent', :params => [percent_open.to_s, action_plan.unresolvedIssues().to_s]) end @@ -39,4 +39,4 @@
<%= message('action_plans.x_out_of_x_issues_solved', :params => [resolved_issues_link, total_issues_link]) -%>
-<% end %> \ No newline at end of file +<% end %> diff --git a/sonar-server/src/main/webapp/WEB-INF/app/views/project/widgets/issues/_issues_list.html.erb b/sonar-server/src/main/webapp/WEB-INF/app/views/project/widgets/issues/_issues_list.html.erb index 4d6d06eca8e..e3dbd405fe4 100644 --- a/sonar-server/src/main/webapp/WEB-INF/app/views/project/widgets/issues/_issues_list.html.erb +++ b/sonar-server/src/main/webapp/WEB-INF/app/views/project/widgets/issues/_issues_list.html.erb @@ -68,7 +68,7 @@ link_params[:period] = params[:period] %> <%= paginate_java(paging, :colspan => 3, :id => "issue-filter-foot-#{widget_id}", :include_loading_icon => true, - :url_results => url_for(search_options.merge({:controller => 'issues', :action => 'search' }).except('pageSize', 'pageIndex', 'table_limit', 'widget_id')) ) { |label, page_id| + :url_results => url_for_issues(search_options.except('pageSize', 'pageIndex', 'table_limit', 'widget_id')) ) { |label, page_id| <#{label} EOF -- 2.39.5