aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--app/controllers/admin_controller.rb4
-rw-r--r--app/models/info_request.rb15
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