]> git.openstreetmap.org Git - rails.git/blobdiff - app/controllers/reports_controller.rb
Merge remote-tracking branch 'upstream/pull/4241'
[rails.git] / app / controllers / reports_controller.rb
index ef87a8699fe807884ec29d09d65a1064bf49a2fa..5c70d970408f595411fd70c097c8c389ddd7e933 100644 (file)
@@ -3,7 +3,11 @@ class ReportsController < ApplicationController
 
   before_action :authorize_web
   before_action :set_locale
-  before_action :require_user
+  before_action :check_database_readable
+
+  authorize_resource
+
+  before_action :check_database_writable, :only => [:new, :create]
 
   def new
     if required_new_report_params_present?
@@ -27,7 +31,8 @@ class ReportsController < ApplicationController
 
       redirect_to helpers.reportable_url(@report.issue.reportable), :notice => t(".successful_report")
     else
-      redirect_to new_report_path(:reportable_type => @report.issue.reportable_type, :reportable_id => @report.issue.reportable_id), :notice => t(".provide_details")
+      flash.now[:notice] = t(".provide_details")
+      render :action => "new"
     end
   end
 
@@ -51,12 +56,15 @@ class ReportsController < ApplicationController
 
   def default_assigned_role
     case issue_params[:reportable_type]
-    when "Note" then "moderator"
-    when "User" then case report_params[:category]
-                     when "vandal" then "moderator"
-                     else "administrator"
-                     end
-    else "administrator"
+    when "Note"
+      "moderator"
+    when "User"
+      case report_params[:category]
+      when "vandal" then "moderator"
+      else "administrator"
+      end
+    else
+      "administrator"
     end
   end
 end