aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthew Landauer <matthew@openaustralia.org>2013-03-22 13:23:26 +1100
committerMatthew Landauer <matthew@openaustralia.org>2013-03-22 13:23:26 +1100
commit67dc39ed036d1aa27d9f49dfddb04b51ff8710d2 (patch)
treed21d276f1db5bf53bbc11f50cd3124d5ef33cd7f
parent2f7a41599ad936bbf117c1ea6e8356cb6e92b5a6 (diff)
Only allow reporting a request when logged in
-rw-r--r--app/controllers/request_controller.rb5
-rw-r--r--spec/controllers/request_controller_spec.rb24
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
+