aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--app/controllers/admin_censor_rule_controller.rb10
1 files changed, 9 insertions, 1 deletions
diff --git a/app/controllers/admin_censor_rule_controller.rb b/app/controllers/admin_censor_rule_controller.rb
index 36c700cbb..82e6f5e68 100644
--- a/app/controllers/admin_censor_rule_controller.rb
+++ b/app/controllers/admin_censor_rule_controller.rb
@@ -4,7 +4,7 @@
# Copyright (c) 2008 UK Citizens Online Democracy. All rights reserved.
# Email: francis@mysociety.org; WWW: http://www.mysociety.org/
#
-# $Id: admin_censor_rule_controller.rb,v 1.1 2008-10-27 18:18:30 francis Exp $
+# $Id: admin_censor_rule_controller.rb,v 1.2 2008-10-28 13:03:52 francis Exp $
class AdminCensorRuleController < ApplicationController
layout "admin"
@@ -17,6 +17,7 @@ class AdminCensorRuleController < ApplicationController
def create
params[:censor_rule][:last_edit_editor] = admin_http_auth_user()
@censor_rule = CensorRule.new(params[:censor_rule])
+ expire_for_request(@censor_rule.info_request)
if @censor_rule.save
expire_for_request(@censor_rule.info_request)
flash[:notice] = 'CensorRule was successfully created.'
@@ -33,6 +34,8 @@ class AdminCensorRuleController < ApplicationController
def update
params[:censor_rule][:last_edit_editor] = admin_http_auth_user()
@censor_rule = CensorRule.find(params[:id])
+ # expire before and after change, in case filename changes
+ expire_for_request(@censor_rule.info_request)
if @censor_rule.update_attributes(params[:censor_rule])
expire_for_request(@censor_rule.info_request)
flash[:notice] = 'CensorRule was successfully updated.'
@@ -46,6 +49,8 @@ class AdminCensorRuleController < ApplicationController
censor_rule = CensorRule.find(params[:censor_rule_id])
info_request = censor_rule.info_request
+ # expire before and after change, in case filename changes
+ expire_for_request(info_request)
censor_rule.destroy
expire_for_request(info_request)
@@ -56,6 +61,9 @@ class AdminCensorRuleController < ApplicationController
def expire_for_request(info_request)
+ # So is using latest censor rules
+ info_request.reload
+
# clear out cached entries
for incoming_message in info_request.incoming_messages
for attachment in incoming_message.get_attachments_for_display