aboutsummaryrefslogtreecommitdiffstats
path: root/app/controllers/admin_censor_rule_controller.rb
diff options
context:
space:
mode:
authorGareth Rees <gareth@mysociety.org>2014-11-19 10:29:32 +0000
committerGareth Rees <gareth@mysociety.org>2014-11-19 11:27:23 +0000
commit87bc2e24d2845d21911b85581d0d611d888a6315 (patch)
treea0242047a91a9fe3d92344967049e3d76b14c14c /app/controllers/admin_censor_rule_controller.rb
parent259a0fd588e198d2a826ef4ac09284c610005387 (diff)
Associate censor rule with something in #create
Build the CensorRule against the object that is found by an additional parameter (either :info_request_id or :user_id)
Diffstat (limited to 'app/controllers/admin_censor_rule_controller.rb')
-rw-r--r--app/controllers/admin_censor_rule_controller.rb19
1 files changed, 17 insertions, 2 deletions
diff --git a/app/controllers/admin_censor_rule_controller.rb b/app/controllers/admin_censor_rule_controller.rb
index a5e2502b0..215c3e75d 100644
--- a/app/controllers/admin_censor_rule_controller.rb
+++ b/app/controllers/admin_censor_rule_controller.rb
@@ -23,16 +23,31 @@ class AdminCensorRuleController < AdminController
end
def create
- params[:censor_rule][:last_edit_editor] = admin_current_user()
- @censor_rule = CensorRule.new(params[:censor_rule])
+ params[:censor_rule][:last_edit_editor] = admin_current_user
+
+ if params[:info_request_id]
+ @info_request = InfoRequest.find(params[:info_request_id])
+ @censor_rule = @info_request.censor_rules.build(params[:censor_rule])
+ end
+
+ if params[:user_id]
+ @censor_user = User.find(params[:user_id])
+ @censor_rule = @censor_user.censor_rules.build(params[:censor_rule])
+ end
+
+ @censor_rule ||= CensorRule.new(params[:censor_rule])
+
if @censor_rule.save
if !@censor_rule.info_request.nil?
expire_for_request(@censor_rule.info_request)
end
+
if !@censor_rule.user.nil?
expire_requests_for_user(@censor_rule.user)
end
+
flash[:notice] = 'CensorRule was successfully created.'
+
if !@censor_rule.info_request.nil?
redirect_to admin_request_show_url(@censor_rule.info_request)
elsif !@censor_rule.user.nil?