]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-3148 Do not log errors when the URL /charts/trends has bad parameters
authorSimon Brandhof <simon.brandhof@gmail.com>
Mon, 16 Jan 2012 14:41:01 +0000 (15:41 +0100)
committerSimon Brandhof <simon.brandhof@gmail.com>
Mon, 16 Jan 2012 14:41:01 +0000 (15:41 +0100)
sonar-server/src/main/webapp/WEB-INF/app/controllers/charts_controller.rb
sonar-server/src/main/webapp/WEB-INF/app/controllers/users_controller.rb

index db1f21ed942db1f4fba1df1dbb494f852e53c4b3..4327242c00cd40ec33ab0ea0ffe9d60fb88d6524 100644 (file)
@@ -22,36 +22,38 @@ class ChartsController < ApplicationController
 
   DEFAULT_TRENDS_WIDTH = 700
   DEFAULT_TRENDS_HEIGHT = 250
-  
+
   CHART_COLORS = ["4192D9", "800000", "A7B307", "913C9F", "329F4D"]
-    
+
   def trends
     resource=Project.by_key(params[:id])
+    bad_request("Unknown resource") unless resource
     access_denied unless has_role?(:user, resource)
 
-
     metric_keys=params[:metrics]
-    metric_ids=[]
+    metrics=[]
     if metric_keys
       metric_keys.split(',').each do |key|
-        metric_ids<<Metric.by_key(key)
+        metric=Metric.by_key(key)
+        metrics<<metric if metric
       end
     end
-    unless metric_ids.empty?
-      width=(params[:w] ? params[:w].to_i :  DEFAULT_TRENDS_WIDTH)
-      height=(params[:h] ? params[:h].to_i :  DEFAULT_TRENDS_HEIGHT)
-      display_legend = (params[:legend] ? params[:legend]=='true' : true)
-
-      options={}
-      if params[:from]
-        options[:from]=Date::strptime(params[:from])
-      end
-      if params[:to]
-        options[:to]=Date::strptime(params[:to])
-      end
 
-      stream = TrendsChart.png_chart(width, height, resource, metric_ids, params[:locale] || I18n.locale.to_s, display_legend, options)
-      send_data stream, :type => 'image/png', :disposition => 'inline' 
+    bad_request("Unknown metrics") if metrics.empty?
+
+    width=(params[:w] ? params[:w].to_i : DEFAULT_TRENDS_WIDTH)
+    height=(params[:h] ? params[:h].to_i : DEFAULT_TRENDS_HEIGHT)
+    display_legend = (params[:legend] ? params[:legend]=='true' : true)
+
+    options={}
+    if params[:from]
+      options[:from]=Date::strptime(params[:from])
     end
+    if params[:to]
+      options[:to]=Date::strptime(params[:to])
+    end
+
+    stream = TrendsChart.png_chart(width, height, resource, metrics, params[:locale] || I18n.locale.to_s, display_legend, options)
+    send_data stream, :type => 'image/png', :disposition => 'inline'
   end
 end
index 45b04322bdcd6aacc238bc8fa51f30a26a2c1e0a..f367c4371ab7d9474569c34a0dfdb345df7bfc21 100644 (file)
@@ -133,12 +133,6 @@ class UsersController < ApplicationController
     redirect_to(:action => 'index', :id => id)
   end
 
-  def toggle_edit_mode()
-    current_user.toggle_edit_mode
-    redirect_back_or_default(:controller => 'project')
-  end
-
-
   def prepare_user
     user = User.new(params[:user])
     default_group_name=java_facade.getSettings().getString('sonar.defaultGroup')