Report verification render not redirect

Fix an issue with the report verification, causing it to lose the text of a report if the user fails to fill in a category.

By using a `render` instead of a `redirect_to`, the rails standard verification behaviour works better. It means we also get a nice red "can't be blank" message highlighting the specific missing field.
This commit is contained in:
Harry Wood 2022-05-04 16:34:40 +01:00
parent fa77b55bd5
commit fcbccb6a44
2 changed files with 6 additions and 3 deletions

View file

@ -28,7 +28,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[:notice] = t(".provide_details")
render :action => "new"
end
end

View file

@ -63,10 +63,12 @@ class ReportsControllerTest < ActionDispatch::IntegrationTest
category = "other"
post reports_path(:report => {
:category => category,
:issue => { :reportable_id => 1, :reportable_type => "User" }
:issue => { :reportable_id => target_user.id, :reportable_type => "User" }
})
end
assert_response :redirect
assert_response :success
assert_template :new
assert_match(/Please provide the required details/, flash[:notice])
assert_equal 1, issue.reports.count
end