From 87bc2e24d2845d21911b85581d0d611d888a6315 Mon Sep 17 00:00:00 2001 From: Gareth Rees Date: Wed, 19 Nov 2014 10:29:32 +0000 Subject: 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) --- app/controllers/admin_censor_rule_controller.rb | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) (limited to 'app/controllers/admin_censor_rule_controller.rb') 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? -- cgit v1.2.3