Stop the data browser leaking details of redactions
authorMatt Amos <zerebubuth@gmail.com>
Mon, 2 Apr 2012 13:30:57 +0000 (14:30 +0100)
committerTom Hughes <tom@compton.nu>
Thu, 5 Apr 2012 12:50:22 +0000 (13:50 +0100)
Altered styling of redacted versions in changeset list so that they
appear deleted and don't leak tag information.

app/helpers/browse_helper.rb

index de439d56fc6700a0c0973b9ad88bd3759b6d2aa9..0b72040a3a6e80b70a659e2bebdd20cd03334e23 100644 (file)
@@ -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)