aboutsummaryrefslogtreecommitdiffstats
path: root/app/models/info_request.rb
diff options
context:
space:
mode:
authorLouise Crow <louise.crow@gmail.com>2012-08-14 14:41:54 +0100
committerLouise Crow <louise.crow@gmail.com>2012-08-14 14:43:48 +0100
commit30019ed58f0cd608f6196d03b9679bbca2ea0881 (patch)
treebfdb0db7349534eb86b3e86bec8c1870eb41f815 /app/models/info_request.rb
parentb066d6bf7be0a33e731788a2c6f90285d3b3063f (diff)
Apply global and public body censor rules to binary files.
Diffstat (limited to 'app/models/info_request.rb')
-rw-r--r--app/models/info_request.rb19
1 files changed, 10 insertions, 9 deletions
diff --git a/app/models/info_request.rb b/app/models/info_request.rb
index 83456b54f..dfaa524b2 100644
--- a/app/models/info_request.rb
+++ b/app/models/info_request.rb
@@ -995,27 +995,28 @@ public
return ret.reverse
end
- # Call groups of censor rules
- def apply_censor_rules_to_text!(text)
+ # Get the list of censor rules that apply to this request
+ def applicable_censor_rules
applicable_rules = [self.censor_rules, self.public_body.censor_rules, CensorRule.global.all]
if self.user && !self.user.censor_rules.empty?
applicable_rules << self.user.censor_rules
end
- applicable_rules.flatten.each do |censor_rule|
+ return applicable_rules.flatten
+ end
+
+ # Call groups of censor rules
+ def apply_censor_rules_to_text!(text)
+ self.applicable_censor_rules.each do |censor_rule|
censor_rule.apply_to_text!(text)
end
return text
end
def apply_censor_rules_to_binary!(binary)
- for censor_rule in self.censor_rules
+ self.applicable_censor_rules.each do |censor_rule|
censor_rule.apply_to_binary!(binary)
end
- if self.user # requests during construction have no user
- for censor_rule in self.user.censor_rules
- censor_rule.apply_to_binary!(binary)
- end
- end
+ return binary
end
def is_owning_user?(user)