diff --git a/app/controllers/admin_controller.rb b/app/controllers/admin_controller.rb index 9ca891bf..32681c18 100644 --- a/app/controllers/admin_controller.rb +++ b/app/controllers/admin_controller.rb @@ -4,7 +4,7 @@ # Copyright (c) 2009 UK Citizens Online Democracy. All rights reserved. # Email: francis@mysociety.org; WWW: http://www.mysociety.org/ # -# $Id: admin_controller.rb,v 1.26 2009-06-30 14:28:25 francis Exp $ +# $Id: admin_controller.rb,v 1.27 2009-08-21 17:43:33 francis Exp $ class AdminController < ApplicationController @@ -32,6 +32,8 @@ def expire_for_request(info_request) # the URL, the regular expression makes sure the cache is # cleared even if someone did that. expire_fragment /views\/request\/#{info_request.id}.*/ + # also force a search reindexing (so changed text reflected in search) + info_request.reindex_request_events end end diff --git a/app/models/info_request.rb b/app/models/info_request.rb index da540312..1969d194 100644 --- a/app/models/info_request.rb +++ b/app/models/info_request.rb @@ -24,7 +24,7 @@ # Copyright (c) 2007 UK Citizens Online Democracy. All rights reserved. # Email: francis@mysociety.org; WWW: http://www.mysociety.org/ # -# $Id: info_request.rb,v 1.200 2009-08-19 00:22:49 francis Exp $ +# $Id: info_request.rb,v 1.201 2009-08-21 17:43:33 francis Exp $ require 'digest/sha1' require File.join(File.dirname(__FILE__),'../../vendor/plugins/acts_as_xapian/lib/acts_as_xapian') @@ -123,12 +123,15 @@ def InfoRequest.full_search(models, query, order, ascending, collapse, per_page, # If the URL name has changed, then all request: queries will break unless # we update index for every event. Also reindex if prominence changes. - after_update :reindex_request_events - def reindex_request_events + after_update :reindex_some_request_events + def reindex_some_request_events if self.changes.include?('url_title') || self.changes.include?('prominence') - for info_request_event in self.info_request_events - info_request_event.xapian_mark_needs_index - end + self.reindex_request_events + end + end + def reindex_request_events + for info_request_event in self.info_request_events + info_request_event.xapian_mark_needs_index end end