aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--app/controllers/request_controller.rb4
-rw-r--r--app/views/request/new_report_request.html.erb22
-rw-r--r--config/routes.rb2
3 files changed, 28 insertions, 0 deletions
diff --git a/app/controllers/request_controller.rb b/app/controllers/request_controller.rb
index ad1918005..3f73fe65c 100644
--- a/app/controllers/request_controller.rb
+++ b/app/controllers/request_controller.rb
@@ -699,6 +699,10 @@ class RequestController < ApplicationController
redirect_to request_url(info_request)
end
+ def new_report_request
+ @info_request = InfoRequest.find_by_url_title!(params[:url_title])
+ end
+
# special caching code so mime types are handled right
around_filter :cache_attachments, :only => [ :get_attachment, :get_attachment_as_html ]
def cache_attachments
diff --git a/app/views/request/new_report_request.html.erb b/app/views/request/new_report_request.html.erb
new file mode 100644
index 000000000..7f815344c
--- /dev/null
+++ b/app/views/request/new_report_request.html.erb
@@ -0,0 +1,22 @@
+<h1>Report request: <%= @info_request.title %></h1>
+
+<p>
+ Reporting a request notifies the site administrators. They will respond as soon as possible.
+</p>
+<p>Why specifically do you consider this request unsuitable?</p>
+
+<%= form_tag report_path(:url_title => @info_request.url_title) do %>
+ <p>
+ <label class="form_label" for="reason">Reason:</label>
+ <%= select_tag :reason, options_for_select(["Contains defamatory material", "Not a valid request", "Request for personal information", "Contains personal information", "Vexatious", "Other"]), :prompt => "Choose a reason" %>
+ </p>
+ <p>
+ <label class="form_label" for="message">Please tell us more:</label>
+ <%= text_area_tag :message, "", :rows => 10, :cols => 60 %>
+ </p>
+
+ <div class="form_button">
+ <%= submit_tag _("Report request") %>
+ </div>
+
+<% end %>
diff --git a/config/routes.rb b/config/routes.rb
index b45ff17f5..60e33b3cf 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -65,6 +65,8 @@ Alaveteli::Application.routes.draw do
# mechanism, which assumes all post-login actions are available via GET, so we
# refrain.
match '/request/:url_title/report' => 'request#report_request', :as => :report
+ match '/request/:url_title/report/new' => 'request#new_report_request', :as => :new_report_request
+
####
#### User controller