]> git.openstreetmap.org Git - rails.git/blobdiff - app/controllers/reports_controller.rb
Merge remote-tracking branch 'upstream/pull/4717'
[rails.git] / app / controllers / reports_controller.rb
index 8087268193d9159932826415b33f9e31a05b131c..5c70d970408f595411fd70c097c8c389ddd7e933 100644 (file)
@@ -3,9 +3,12 @@ class ReportsController < ApplicationController
 
   before_action :authorize_web
   before_action :set_locale
+  before_action :check_database_readable
 
   authorize_resource
 
+  before_action :check_database_writable, :only => [:new, :create]
+
   def new
     if required_new_report_params_present?
       @report = Report.new
@@ -28,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
 
@@ -52,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