diff options
Diffstat (limited to 'app')
-rw-r--r-- | app/controllers/request_controller.rb | 17 | ||||
-rw-r--r-- | app/helpers/link_to_helper.rb | 4 | ||||
-rw-r--r-- | app/views/request/_sidebar.rhtml | 3 |
3 files changed, 22 insertions, 2 deletions
diff --git a/app/controllers/request_controller.rb b/app/controllers/request_controller.rb index 4005b15eb..29bdb5c88 100644 --- a/app/controllers/request_controller.rb +++ b/app/controllers/request_controller.rb @@ -64,11 +64,26 @@ class RequestController < ApplicationController @last_response = @info_request.get_last_response end + # Extra info about a request, such as event history + def details + @info_request = InfoRequest.find_by_url_title(params[:url_title]) + if !@info_request.user_can_view?(authenticated_user) + render :template => 'request/hidden', :status => 410 # gone + return + end + + @columns = ['id', 'event_type', 'created_at', 'described_state', 'last_described_at', 'calculated_state' ] + end + # Requests similar to this one def similar @per_page = 25 @page = (params[:page] || "1").to_i @info_request = InfoRequest.find_by_url_title(params[:url_title]) + if !@info_request.user_can_view?(authenticated_user) + render :template => 'request/hidden', :status => 410 # gone + return + end @xapian_object = ::ActsAsXapian::Similar.new([InfoRequestEvent], @info_request.info_request_events, :offset => (@page - 1) * @per_page, :limit => @per_page, :collapse_by_prefix => 'request_collapse') @@ -522,7 +537,7 @@ class RequestController < ApplicationController # Test for hidden incoming_message = IncomingMessage.find(params[:incoming_message_id]) if !incoming_message.info_request.user_can_view?(authenticated_user) - render :template => 'request/hidden' + render :template => 'request/hidden', :status => 410 # gone end end diff --git a/app/helpers/link_to_helper.rb b/app/helpers/link_to_helper.rb index 6ee0edb2b..aa63ef65d 100644 --- a/app/helpers/link_to_helper.rb +++ b/app/helpers/link_to_helper.rb @@ -33,6 +33,10 @@ module LinkToHelper return similar_request_url(:url_title => info_request.url_title, :only_path => true) end + def request_details_url(info_request) + return details_request_url(:url_title => info_request.url_title, :only_path => true) + end + # Incoming / outgoing messages def incoming_message_url(incoming_message) return request_url(incoming_message.info_request)+"#incoming-"+incoming_message.id.to_s diff --git a/app/views/request/_sidebar.rhtml b/app/views/request/_sidebar.rhtml index 0cb9207d8..1509bf494 100644 --- a/app/views/request/_sidebar.rhtml +++ b/app/views/request/_sidebar.rhtml @@ -31,6 +31,7 @@ <!-- Important terms: <%= @xapian_similar.important_terms.join(" ") %> --> <% end %> + <p><%= link_to "Event history details", request_details_url(@info_request) %></p> <p><a href="/help/about#commercial">Are you the owner of any commercial copyright on this page?</a></p> -</div>
\ No newline at end of file +</div> |