Isolate object names from the database with a <bdi> tag
authorTom Hughes <tom@compton.nu>
Sun, 18 May 2014 16:16:36 +0000 (17:16 +0100)
committerTom Hughes <tom@compton.nu>
Sun, 18 May 2014 16:24:38 +0000 (17:24 +0100)
Fixes #743

app/helpers/browse_helper.rb
app/views/browse/_node.html.erb
app/views/browse/_relation_member.html.erb
app/views/browse/_way.html.erb
app/views/browse/changeset.html.erb
app/views/browse/feature.html.erb
app/views/browse/history.html.erb
config/locales/en.yml
test/helpers/browse_helper_test.rb

index b192a63d558ee4c4ba8bd7e06dc815536168a1fa..7562535c1b54b1a3846738b9f7516cb4a9d2cda5 100644 (file)
@@ -14,13 +14,13 @@ module BrowseHelper
     # away redacted version tag information.
     unless 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
+        name = t 'printable_name.with_name_html', :name => content_tag(:bdi, 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
+        name = t 'printable_name.with_name_html', :name => content_tag(:bdi, object.tags['name'].to_s ), :id => name
       end
     end
 
-    return name
+    name
   end
 
   def link_class(type, object)
index 581c49b09155b30435a499c9361040cc2b9aafcb..873360bb22ad0d687fba1d4f299510423fa44eeb 100644 (file)
@@ -14,7 +14,7 @@
       <h4><%= t 'browse.part_of' %></h4>
       <ul>
         <% node.ways.uniq.each do |way| %>
-          <li><%= link_to h(printable_name(way)), { :action => "way", :id => way.id.to_s }, :class => link_class('way', way), :title => link_title(way) %></li>
+          <li><%= link_to printable_name(way), { :action => "way", :id => way.id.to_s }, :class => link_class('way', way), :title => link_title(way) %></li>
         <% end %>
         <%= render :partial => "containing_relation", :collection => node.containing_relation_members.uniq %>
       </ul>
index 2673df3c35c7c9e33458cc04c1f09a07a3b56295..0d17de349ca390a6e5ee38e49bd646805cf3b13f 100644 (file)
@@ -1,6 +1,6 @@
 <%
   member_class = link_class(relation_member.member_type.downcase, relation_member.member)
-  linked_name = link_to h(printable_name(relation_member.member)), { :action => relation_member.member_type.downcase, :id => relation_member.member_id.to_s }, :title => link_title(relation_member.member)
+  linked_name = link_to printable_name(relation_member.member), { :action => relation_member.member_type.downcase, :id => relation_member.member_id.to_s }, :title => link_title(relation_member.member)
   type_str = t'browse.relation_member.type.' + relation_member.member_type.downcase
 %>
   <li class="<%= member_class %>"><%=
@@ -9,4 +9,4 @@
     else
       raw t'browse.relation_member.entry_role', :type => type_str, :name => linked_name, :role => h(relation_member.member_role)
     end
-  %></li>
\ No newline at end of file
+  %></li>
index aff405dde2b780f5ae8cac5fcfdb9dcc4f0f3162..b1dffb9ef40e50268de23c6f0ed2249f60eca294 100644 (file)
       <ul>
         <% way.way_nodes.each do |wn| %>
           <li>
-            <%= link_to h(printable_name(wn.node)), { :action => "node", :id => wn.node_id.to_s }, :class => link_class('node', wn.node), :title => link_title(wn.node) %>
+            <%= link_to printable_name(wn.node), { :action => "node", :id => wn.node_id.to_s }, :class => link_class('node', wn.node), :title => link_title(wn.node) %>
             <% related_ways = wn.node.ways.reject { |w| w.id == wn.way_id } %>
             <% if related_ways.size > 0 then %>
-              (<%= raw t 'browse.way.also_part_of', :count => related_ways.size, :related_ways => related_ways.map { |w| link_to(h(printable_name(w)), { :action => "way", :id => w.id.to_s }, :class => link_class('way', w), :title => link_title(w) ) }.to_sentence %>)
+              (<%= raw t 'browse.way.also_part_of', :count => related_ways.size, :related_ways => related_ways.map { |w| link_to(printable_name(w), { :action => "way", :id => w.id.to_s }, :class => link_class('way', w), :title => link_title(w) ) }.to_sentence %>)
             <% end %>
           </li>
         <% end %>
index 31799f0e9f9e5e592537decb6bfe65e1cc9223ef..84d85df3c447eaad13145983e371b2afc3cd474c 100644 (file)
@@ -18,7 +18,7 @@
     </h4>
     <ul>
       <% @ways.each do |way| %>
-        <li><%= link_to h(printable_name(way, true)), { :action => "way", :id => way.way_id.to_s }, :class => link_class('way', way), :title => link_title(way) %></li>
+        <li><%= link_to printable_name(way, true), { :action => "way", :id => way.way_id.to_s }, :class => link_class('way', way), :title => link_title(way) %></li>
       <% end %>
     </ul>
   <% end %>
@@ -30,7 +30,7 @@
     </h4>
     <ul>
       <% @relations.each do |relation| %>
-        <li><%= link_to h(printable_name(relation, true)), { :action => "relation", :id => relation.relation_id.to_s }, :class => link_class('relation', relation), :title => link_title(relation) %></li>
+        <li><%= link_to printable_name(relation, true), { :action => "relation", :id => relation.relation_id.to_s }, :class => link_class('relation', relation), :title => link_title(relation) %></li>
       <% end %>
     </ul>
   <% end %>
@@ -42,7 +42,7 @@
     </h4>
     <ul>
       <% @nodes.each do |node| %>
-        <li><%= link_to h(printable_name(node, true)), { :action => "node", :id => node.node_id.to_s }, :class => link_class('node', node), :title => link_title(node) %></li>
+        <li><%= link_to printable_name(node, true), { :action => "node", :id => node.node_id.to_s }, :class => link_class('node', node), :title => link_title(node) %></li>
       <% end %>
     </ul>
   <% end %>
index 1e0f118d83803978883640a17479d60e59811da9..38657f4d1fb8f976868bb375b94e0feb206b7088 100644 (file)
@@ -2,7 +2,7 @@
 
 <h2>
   <a class="geolink" href="<%= root_path %>"><span class="icon close"></span></a>
-  <%= t("browse.#{@type}.title", :name => printable_name(@feature)) %>
+  <%= raw t("browse.#{@type}.title", :name => printable_name(@feature)) %>
 </h2>
 
 <%= render :partial => @type, :object => @feature %>
index fa483bfb06bcceead2914f9e70e3a13fcc2d4467..5f5dd4db3274b789890cac68a562ad72cfd3e191 100644 (file)
@@ -2,7 +2,7 @@
 
 <h2>
   <a class="geolink" href="<%= root_path %>"><span class="icon close"></span></a>
-  <%= t("browse.#{@type}.history_title", :name => printable_name(@feature)) %>
+  <%= raw t("browse.#{@type}.history_title", :name => printable_name(@feature)) %>
 </h2>
 
 <%= render :partial => @type, :collection => @feature.send("old_#{@type}s").reverse %>
index 94537c1fb40d0ce1654185e32fe613ca2ac70a02..9e117e3deeadaae6fe87c6149e8d018cd371f0be 100644 (file)
@@ -79,7 +79,7 @@ en:
   printable_name:
     with_id: "%{id}"
     with_version: "%{id}, v%{version}"
-    with_name: "%{name} (%{id})"
+    with_name_html: "%{name} (%{id})"
   editor:
     default: "Default (currently %{name})"
     potlatch:
index a48ac4df886504137f563e125df355c9a7118cec..0abcd6df12f8c3a33ec7ac21bc2fbb0e7f106f48 100644 (file)
@@ -14,28 +14,28 @@ class BrowseHelperTest < ActionView::TestCase
 
   def test_printable_name
     assert_equal "17", printable_name(current_nodes(:redacted_node))
-    assert_equal "Test Node (18)", printable_name(current_nodes(:node_with_name))
-    assert_equal "Test Node (18)", printable_name(nodes(:node_with_name_current_version))
+    assert_equal "<bdi>Test Node</bdi> (18)", printable_name(current_nodes(:node_with_name))
+    assert_equal "<bdi>Test Node</bdi> (18)", printable_name(nodes(:node_with_name_current_version))
     assert_equal "18", printable_name(nodes(:node_with_name_redacted_version))
-    assert_equal "Test Node (18, v2)", printable_name(nodes(:node_with_name_current_version), true)
+    assert_equal "<bdi>Test Node</bdi> (18, v2)", printable_name(nodes(:node_with_name_current_version), true)
     assert_equal "18, v1", printable_name(nodes(:node_with_name_redacted_version), true)
 
     I18n.locale = "ru"
 
     assert_equal "17", printable_name(current_nodes(:redacted_node))
-    assert_equal "проверки узла (18)", printable_name(current_nodes(:node_with_name))
-    assert_equal "проверки узла (18)", printable_name(nodes(:node_with_name_current_version))
+    assert_equal "<bdi>проверки узла</bdi> (18)", printable_name(current_nodes(:node_with_name))
+    assert_equal "<bdi>проверки узла</bdi> (18)", printable_name(nodes(:node_with_name_current_version))
     assert_equal "18", printable_name(nodes(:node_with_name_redacted_version))
-    assert_equal "проверки узла (18, v2)", printable_name(nodes(:node_with_name_current_version), true)
+    assert_equal "<bdi>проверки узла</bdi> (18, v2)", printable_name(nodes(:node_with_name_current_version), true)
     assert_equal "18, v1", printable_name(nodes(:node_with_name_redacted_version), true)
 
     I18n.locale = "de"
 
     assert_equal "17", printable_name(current_nodes(:redacted_node))
-    assert_equal "Test Node (18)", printable_name(current_nodes(:node_with_name))
-    assert_equal "Test Node (18)", printable_name(nodes(:node_with_name_current_version))
+    assert_equal "<bdi>Test Node</bdi> (18)", printable_name(current_nodes(:node_with_name))
+    assert_equal "<bdi>Test Node</bdi> (18)", printable_name(nodes(:node_with_name_current_version))
     assert_equal "18", printable_name(nodes(:node_with_name_redacted_version))
-    assert_equal "Test Node (18, v2)", printable_name(nodes(:node_with_name_current_version), true)
+    assert_equal "<bdi>Test Node</bdi> (18, v2)", printable_name(nodes(:node_with_name_current_version), true)
     assert_equal "18, v1", printable_name(nodes(:node_with_name_redacted_version), true)
   end