diff options
author | Matthew Landauer <matthew@openaustralia.org> | 2013-03-22 13:23:26 +1100 |
---|---|---|
committer | Matthew Landauer <matthew@openaustralia.org> | 2013-03-22 13:23:26 +1100 |
commit | 67dc39ed036d1aa27d9f49dfddb04b51ff8710d2 (patch) | |
tree | d21d276f1db5bf53bbc11f50cd3124d5ef33cd7f | |
parent | 2f7a41599ad936bbf117c1ea6e8356cb6e92b5a6 (diff) |
Only allow reporting a request when logged in
-rw-r--r-- | app/controllers/request_controller.rb | 5 | ||||
-rw-r--r-- | spec/controllers/request_controller_spec.rb | 24 |
2 files changed, 29 insertions, 0 deletions
diff --git a/app/controllers/request_controller.rb b/app/controllers/request_controller.rb index 3f73fe65c..dc8db4ab1 100644 --- a/app/controllers/request_controller.rb +++ b/app/controllers/request_controller.rb @@ -701,6 +701,11 @@ class RequestController < ApplicationController def new_report_request @info_request = InfoRequest.find_by_url_title!(params[:url_title]) + if authenticated?( + :web => _("To report this request"), + :email => _("Then you can report the request '{{title}}'", :title => @info_request.title), + :email_subject => _("Report an offensive or unsuitable request")) + end end # special caching code so mime types are handled right diff --git a/spec/controllers/request_controller_spec.rb b/spec/controllers/request_controller_spec.rb index ccbf6b8ab..02a013906 100644 --- a/spec/controllers/request_controller_spec.rb +++ b/spec/controllers/request_controller_spec.rb @@ -2403,4 +2403,28 @@ describe RequestController, "when caching fragments" do end +describe RequestController, "#new_report_request" do + let(:info_request) { mock_model(InfoRequest, :url_title => "foo") } + before :each do + InfoRequest.should_receive(:find_by_url_title!).with("foo").and_return(info_request) + end + + context "not logged in" do + it "should require the user to be logged in" do + get :new_report_request, :url_title => "foo" + response.should_not render_template("new_report_request") + end + end + + context "logged in" do + before :each do + session[:user_id] = users(:bob_smith_user).id + end + it "should show the form" do + get :new_report_request, :url_title => "foo" + response.should render_template("new_report_request") + end + end +end + |