- 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'
- name = t 'printable_name.with_name', :name => object.tags['name'].to_s, :id => name
+
+ # don't look at object tags if redacted, so as to avoid giving
+ # away redacted version tag information.
+ unless object.redacted?
+ locale = I18n.locale.to_s
+
+ while locale =~ /-[^-]+/ && !object.tags.include?("name:#{I18n.locale}")
+ locale = locale.sub(/-[^-]+/, "")
+ end
+
+ if object.tags.include? "name:#{locale}"
+ name = t "printable_name.with_name_html", :name => content_tag(:bdi, object.tags["name:#{locale}"].to_s), :id => content_tag(:bdi, name)
+ elsif object.tags.include? "name"
+ name = t "printable_name.with_name_html", :name => content_tag(:bdi, object.tags["name"].to_s), :id => content_tag(:bdi, name)
+ end
+ end
+
+ name
+ end
+
+ def link_class(type, object)
+ classes = [type]
+
+ if object.redacted?
+ classes << "deleted"
+ else
+ classes += icon_tags(object).flatten.map { |t| h(t) }
+ classes << "deleted" unless object.visible?
+ end
+
+ classes.join(" ")
+ end
+
+ def link_title(object)
+ if object.redacted?
+ ""
+ else
+ h(icon_tags(object).map { |k, v| k + "=" + v }.to_sentence)