Don't show coordinates for deleted nodes
authorAndy Allan <andy@gravitystorm.co.uk>
Wed, 11 Jul 2012 13:07:50 +0000 (14:07 +0100)
committerTom Hughes <tom@compton.nu>
Wed, 11 Jul 2012 13:42:01 +0000 (14:42 +0100)
app/models/node.rb
app/models/old_node.rb
app/views/browse/_node_details.html.erb
app/views/browse/node.html.erb
app/views/browse/node_history.html.erb
config/locales/en.yml
test/functional/node_controller_test.rb

index 0953241..2f52807 100644 (file)
@@ -201,11 +201,14 @@ class Node < ActiveRecord::Base
   def to_xml_node(changeset_cache = {}, user_display_name_cache = {})
     el1 = XML::Node.new 'node'
     el1['id'] = self.id.to_s
-    el1['lat'] = self.lat.to_s
-    el1['lon'] = self.lon.to_s
     el1['version'] = self.version.to_s
     el1['changeset'] = self.changeset_id.to_s
 
+    if self.visible?
+      el1['lat'] = self.lat.to_s
+      el1['lon'] = self.lon.to_s
+    end
+
     if changeset_cache.key?(self.changeset_id)
       # use the cache if available
     else
index 9426b2d..c2ec43c 100644 (file)
@@ -52,8 +52,11 @@ class OldNode < ActiveRecord::Base
       el2['v'] = v.to_s
       el1 << el2
     end
-    el1['lat'] = self.lat.to_s
-    el1['lon'] = self.lon.to_s
+
+    if self.visible?
+      el1['lat'] = self.lat.to_s
+      el1['lon'] = self.lon.to_s
+    end
     
     el1['changeset'] = self.changeset.id.to_s
     if self.changeset.user.data_public?
index e237f62..23176ea 100644 (file)
@@ -5,10 +5,12 @@
 
   <%= render :partial => "common_details", :object => node_details %>
 
+  <% if node_details.visible -%>
   <tr>
     <th><%= t 'browse.node_details.coordinates' %></th>
     <td><div class="geo"><%= link_to(content_tag(:span, number_with_delimiter(node_details.lat), :class => "latitude") + ", " + content_tag(:span, number_with_delimiter(node_details.lon), :class => "longitude"), {:controller => 'site', :action => 'index', :lat => h(node_details.lat), :lon => h(node_details.lon), :zoom => "18"}) %></div></td>
   </tr>
+  <% end -%>
 
   <% unless node_details.ways.empty? and node_details.containing_relation_members.empty? %>
     <tr valign="top">
index 7b0ad74..df777c9 100644 (file)
@@ -7,10 +7,13 @@
 <% end %>
 <%= render :partial => "navigation" %>
 <h2><%= t'browse.node.node_title', :node_name => @name %></h2>
+<% if @node.visible -%>
 <%= render :partial => "map", :object => @node %>
+<% end -%>
 <%= render :partial => "node_details", :object => @node %>
 <hr />
-<%= raw t'browse.node.download', :download_xml_link => link_to(t('browse.node.download_xml'), :controller => "old_node", :action => "version", :version => @node.version),
-                                 :view_history_link => link_to(t('browse.node.view_history'), :action => "node_history"),
-                                 :edit_link => link_to(t('browse.node.edit'), :controller => "site", :action => "edit", :lat => @node.lat, :lon => @node.lon, :zoom => 18, :node => @node.id)
-%>
+<%= link_to(t('browse.node.download_xml'), :controller => "old_node", :action => "version", :version => @node.version) %>
+| <%= link_to(t('browse.node.view_history'), :action => "node_history") %>
+<% if @node.visible -%>
+| <%= link_to(t('browse.node.edit'), :controller => "site", :action => "edit", :lat => @node.lat, :lon => @node.lon, :zoom => 18, :node => @node.id) %>
+<% end -%>
index 9966d55..5f70492 100644 (file)
@@ -3,7 +3,9 @@
 @title = t('browse.node_history.node_history') + ' | ' + @name
 %>
 <h2><%= raw t'browse.node_history.node_history_title', :node_name => link_to(h(@name), :action => "node", :id => @node.id) %></h2>
+<% if @node.visible -%>
 <%= render :partial => "map", :object => @node %>
+<% end -%>
 <% @node.old_nodes.reverse.each do |node| %>
   <%= render :partial => "node_details", :object => node %>
   <hr />
index 4dc7888..6108b72 100644 (file)
@@ -174,7 +174,6 @@ en:
     node:
       node: "Node"
       node_title: "Node: %{node_name}"
-      download: "%{download_xml_link}, %{view_history_link} or %{edit_link}"
       download_xml: "Download XML"
       view_history: "view history"
       edit: "edit"
index 5544728..6903dd6 100644 (file)
@@ -231,9 +231,9 @@ class NodeControllerTest < ActionController::TestCase
     assert @response.body.to_i > current_nodes(:public_visible_node).version,
        "delete request should return a new version number for node"
 
-    # this won't work since the node is already deleted
-    content(nodes(:invisible_node).to_xml)
-    delete :delete, :id => current_nodes(:invisible_node).id
+    # deleting the same node twice doesn't work
+    content(nodes(:public_visible_node).to_xml)
+    delete :delete, :id => current_nodes(:public_visible_node).id
     assert_response :gone
 
     # this won't work since the node never existed