aboutsummaryrefslogtreecommitdiffstats
path: root/app
diff options
context:
space:
mode:
Diffstat (limited to 'app')
-rw-r--r--app/controllers/general_controller.rb58
-rw-r--r--app/views/general/frontpage.rhtml3
2 files changed, 32 insertions, 29 deletions
diff --git a/app/controllers/general_controller.rb b/app/controllers/general_controller.rb
index 3bf113efb..7cde689c1 100644
--- a/app/controllers/general_controller.rb
+++ b/app/controllers/general_controller.rb
@@ -14,36 +14,36 @@ class GeneralController < ApplicationController
# New, improved front page!
def frontpage
- # This is too slow
- #@popular_bodies = PublicBody.find(:all, :select => "*, (select count(*) from info_requests where info_requests.public_body_id = public_bodies.id) as c", :order => "c desc", :limit => 32)
-
- # Just hardcode some popular authorities for now
- # ('tgq', 'atbra' is for debugging on Francis's development environment)
- @popular_bodies = PublicBody.find(:all, :conditions => ["url_name in (
- 'bbc',
- 'dwp',
- 'dh',
- 'snh',
- 'royal_mail_group',
- 'mod',
- 'kent_county_council',
- 'wirral_borough_council'
- /* , 'tgq', 'atbra' */
- )"]).sort_by { |pb| pb.url_name }.reverse # just an order that looks better
-
- # Get some successful requests #
- begin
- query = 'variety:response (status:successful OR status:partially_successful)'
- # query = 'variety:response' # XXX debug
- sortby = "described"
- @xapian_object = perform_search([InfoRequestEvent], query, sortby, 'request_title_collapse', 8)
- @successful_request_events = @xapian_object.results.map { |r| r[:model] }
- @successful_request_events = @successful_request_events.sort_by { |e| e.described_at }.reverse
- rescue
- @successful_request_events = []
+ behavior_cache do
+ # This is too slow
+ #@popular_bodies = PublicBody.find(:all, :select => "*, (select count(*) from info_requests where info_requests.public_body_id = public_bodies.id) as c", :order => "c desc", :limit => 32)
+
+ # Just hardcode some popular authorities for now
+ # ('tgq', 'atbra' is for debugging on Francis's development environment)
+ @popular_bodies = PublicBody.find(:all, :conditions => ["url_name in (
+ 'bbc',
+ 'dwp',
+ 'dh',
+ 'snh',
+ 'royal_mail_group',
+ 'mod',
+ 'kent_county_council',
+ 'wirral_borough_council'
+ /* , 'tgq', 'atbra' */
+ )"]).sort_by { |pb| pb.url_name }.reverse # just an order that looks better
+
+ # Get some successful requests #
+ begin
+ query = 'variety:response (status:successful OR status:partially_successful)'
+ # query = 'variety:response' # XXX debug
+ sortby = "described"
+ @xapian_object = perform_search([InfoRequestEvent], query, sortby, 'request_title_collapse', 8)
+ @successful_request_events = @xapian_object.results.map { |r| r[:model] }
+ @successful_request_events = @successful_request_events.sort_by { |e| e.described_at }.reverse
+ rescue
+ @successful_request_events = []
+ end
end
-
- cache_in_squid
end
# Display WhatDoTheyKnow category from mySociety blog
diff --git a/app/views/general/frontpage.rhtml b/app/views/general/frontpage.rhtml
index b3fb3f12c..f2b905f0c 100644
--- a/app/views/general/frontpage.rhtml
+++ b/app/views/general/frontpage.rhtml
@@ -1,3 +1,5 @@
+<% view_cache :ttl => 5.minutes do %>
+
<div id="frontpage_search">
<h1>Make or explore Freedom of Information requests</h1>
@@ -52,3 +54,4 @@
<% end %>
</div>
+<% end %>