]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-3278 Incorrect breadcrumb link on review listing
authorFabrice Bellingard <bellingard@gmail.com>
Mon, 12 Mar 2012 10:46:13 +0000 (11:46 +0100)
committerFabrice Bellingard <bellingard@gmail.com>
Mon, 12 Mar 2012 18:07:27 +0000 (19:07 +0100)
=> when someone clicks on the links of an action plan.

sonar-server/src/main/webapp/WEB-INF/app/controllers/project_reviews_controller.rb
sonar-server/src/main/webapp/WEB-INF/app/controllers/reviews_controller.rb
sonar-server/src/main/webapp/WEB-INF/app/models/review.rb
sonar-server/src/main/webapp/WEB-INF/app/views/action_plans/_progress.html.erb

index 1c51b408fd41ec5102dff55b845d6412b29f2c6b..bb973147d3e3541ca2ab5a6a417783510eb4506d 100644 (file)
@@ -30,7 +30,8 @@ class ProjectReviewsController < ApplicationController
 
   # lists all the reviews of a project, filtered using the same parameters as for the review WS API
   def index
-    @project=Project.by_key(params[:projects])
+    @project=Project.by_key(params[:id])
+    @project=Project.by_key(params[:projects]) unless @project
     
     if @project
       access_denied unless has_role?(:user, @project)
index 44fceda2fef613450edad0bb8d84dcacab677496..b6325df13f307a879d5f37a5fcc7fe8f0fba6c87 100644 (file)
@@ -306,9 +306,9 @@ class ReviewsController < ApplicationController
     end
     unless @id == ''
       if Api::Utils.is_integer? @id
-        options['id'] = @id
+        options['ids'] = @id
       else
-        options['id'] = -1
+        options['ids'] = '-1'
       end
     end
     options['sort'] = @sort unless @sort.blank?
index 55e139b8d158a3d9ac147ac2eef6b2852a02cf6a..56d566ae9c1d494f20fe8e40ac58d696212973ee 100644 (file)
@@ -260,13 +260,15 @@ class Review < ActiveRecord::Base
     conditions=[]
     values={}
 
-    if options['id'].present?
-      conditions << 'id=:id'
-      values[:id]=options['id'].to_i
-    elsif options['ids'].present?
+    if options['ids'].present?
       ids=options['ids'].split(',')
-      conditions << 'id in (:ids)'
-      values[:ids]=ids.map { |id| id.to_i }
+      if ids.size > 1
+        conditions << 'id in (:ids)'
+        values[:ids]=ids.map { |id| id.to_i }
+      else
+        conditions << 'id=:id'
+        values[:id]=ids[0].to_i
+      end
     else
       
       # --- 'review_type' is deprecated since 2.9 ---
index acb27dfee64b00c5cb368665112c2abf3432fe6d..8948b7dbaee88c6d6725519dd569f3758d20957e 100644 (file)
@@ -1,6 +1,6 @@
 <%
   unless action_plan.progress[:total]==0
-    options = {:controller => 'project_reviews', :action => 'index', :action_plan_id => action_plan.id, :projects => action_plan.project_id}
+    options = {:controller => 'project_reviews', :action => 'index', :action_plan_id => action_plan.id, :id => action_plan.project_id}
   
     resolved_reviews_link = action_plan.progress[:resolved].to_s 
     resolved_reviews_link = link_to action_plan.progress[:resolved].to_s, options.merge({:statuses => "#{Review::STATUS_RESOLVED},#{Review::STATUS_CLOSED}"}) unless action_plan.progress[:resolved]==0