+ def printable_name(object, version = false)
+ id = if object.id.is_a?(Array)
+ object.id[0]
+ else
+ object.id
+ end
+ name = t "printable_name.with_id", :id => id.to_s
+ name = t "printable_name.with_version", :id => name, :version => object.version.to_s if version
+
+ # 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
+
+ locale = locale.sub(/-[^-]+/, "") while locale =~ /-[^-]+/ && !object.tags.include?("name:#{I18n.locale}")
+
+ 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)
+ elsif object.tags.include? "ref"
+ name = t "printable_name.with_name_html", :name => content_tag(:bdi, object.tags["ref"].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(" ")