From c8d3257fa5c40ea90fed44f8343fb6d33d400ad1 Mon Sep 17 00:00:00 2001 From: Matt Amos Date: Mon, 2 Apr 2012 14:30:57 +0100 Subject: [PATCH] Stop the data browser leaking details of redactions Altered styling of redacted versions in changeset list so that they appear deleted and don't leak tag information. --- app/helpers/browse_helper.rb | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/app/helpers/browse_helper.rb b/app/helpers/browse_helper.rb index de439d56f..0b72040a3 100644 --- a/app/helpers/browse_helper.rb +++ b/app/helpers/browse_helper.rb @@ -13,6 +13,9 @@ module BrowseHelper if version name = t 'printable_name.with_version', :id => name, :version => object.version.to_s end + # stop here if redacted to avoid giving away redacted version tags. + return name if object.redacted? + if object.tags.include? "name:#{I18n.locale}" name = t 'printable_name.with_name', :name => object.tags["name:#{I18n.locale}"].to_s, :id => name elsif object.tags.include? 'name' @@ -22,11 +25,19 @@ module BrowseHelper end def link_class(type, object) - return type + " " + h(icon_tags(object).join(' ')) + (object.visible == false ? ' deleted' : '') + if object.redacted? + type + " deleted" + else + type + " " + h(icon_tags(object).join(' ')) + (object.visible == false ? ' deleted' : '') + end end def link_title(object) - return h(icon_tags(object).map { |k,v| k + '=' + v }.to_sentence) + if object.redacted? + "" + else + h(icon_tags(object).map { |k,v| k + '=' + v }.to_sentence) + end end def format_key(key) -- 2.43.2