diff options
-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 | ||||
-rw-r--r-- | config/routes.rb | 1 | ||||
-rw-r--r-- | public/stylesheets/main.css | 24 |
5 files changed, 47 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> diff --git a/config/routes.rb b/config/routes.rb index 14df1c9f7..81739b803 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -37,6 +37,7 @@ ActionController::Routing::Routes.draw do |map| request.new_request_to_body '/new/:public_body_id', :action => 'new' request.show_request '/request/:url_title', :action => 'show' + request.details_request '/details/request/:url_title', :action => 'details' request.similar_request '/similar/request/:url_title', :action => 'similar' request.describe_state '/request/:id/describe', :action => 'describe_state' diff --git a/public/stylesheets/main.css b/public/stylesheets/main.css index 97ac34a2a..df363c973 100644 --- a/public/stylesheets/main.css +++ b/public/stylesheets/main.css @@ -1048,3 +1048,27 @@ div.act_link img { font-size: 0.8em; } +/*------------------------------------------------ request details */ + +#request_details table { + border-collapse: collapse; + margin-bottom: 1em; +} +#request_details td, th { + border: solid 1px #000000; +} +#request_details td { + vertical-align: top +} +#request_details td { + max-width: 30em; + overflow: auto; +} +#request_details tr.odd { + background-color: #bbbbbb; +} +#request_details tr.even { + background-color: #dddddd; +} + + |