aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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
+