diff options
-rw-r--r-- | app/controllers/admin_controller.rb | 4 | ||||
-rw-r--r-- | app/models/info_request.rb | 15 |
2 files changed, 12 insertions, 7 deletions
diff --git a/app/controllers/admin_controller.rb b/app/controllers/admin_controller.rb index 9ca891bf2..32681c18d 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 @@ class AdminController < ApplicationController # 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 da5403122..1969d1947 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 @@ class InfoRequest < ActiveRecord::Base # 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 |