Data browser changes, make links more user friendly, displaying name tag where possible.
authorThomas Wood <grand.edgemaster@gmail.com>
Sat, 2 May 2009 00:26:37 +0000 (00:26 +0000)
committerThomas Wood <grand.edgemaster@gmail.com>
Sat, 2 May 2009 00:26:37 +0000 (00:26 +0000)
Changes to models ok'd (and suggested as temporary solution) by TomH
References #1777

15 files changed:
app/controllers/browse_controller.rb
app/helpers/browse_helper.rb
app/models/old_relation_member.rb
app/models/old_way_node.rb
app/views/browse/_changeset_details.rhtml
app/views/browse/_containing_relation.rhtml
app/views/browse/_node_details.rhtml
app/views/browse/_relation_member.rhtml
app/views/browse/_way_details.rhtml
app/views/browse/node.rhtml
app/views/browse/node_history.rhtml
app/views/browse/relation.rhtml
app/views/browse/relation_history.rhtml
app/views/browse/way.rhtml
app/views/browse/way_history.rhtml

index 6ace0817b01353a7f1f4a270354b9075c05e5e27..e9081f02698911a8e01e5a2bd516d6ae9135cda9 100644 (file)
@@ -9,17 +9,10 @@ class BrowseController < ApplicationController
   
   
   
-  def relation 
+  def relation
     @relation = Relation.find(params[:id])
-   
-    @name = @relation.tags['name'].to_s 
-    if @name.length == 0:
-      @name = "#" + @relation.id.to_s
-    end
-       
-    @title = 'Relation | ' + (@name)
-    @next = Relation.find(:first, :order => "id ASC", :conditions => [ "visible = true AND id > :id", { :id => @relation.id }] ) 
-    @prev = Relation.find(:first, :order => "id DESC", :conditions => [ "visible = true AND id < :id", { :id => @relation.id }] ) 
+    @next = Relation.find(:first, :order => "id ASC", :conditions => [ "visible = true AND id > :id", { :id => @relation.id }] )
+    @prev = Relation.find(:first, :order => "id DESC", :conditions => [ "visible = true AND id < :id", { :id => @relation.id }] )
   rescue ActiveRecord::RecordNotFound
     @type = "relation"
     render :action => "not_found", :status => :not_found
@@ -27,73 +20,38 @@ class BrowseController < ApplicationController
   
   def relation_history
     @relation = Relation.find(params[:id])
-     
-    @name = @relation.tags['name'].to_s 
-    if @name.length == 0:
-      @name = "#" + @relation.id.to_s
-    end
-       
-    @title = 'Relation History | ' + (@name)
   rescue ActiveRecord::RecordNotFound
     @type = "relation"
     render :action => "not_found", :status => :not_found
   end
   
-  def way 
+  def way
     @way = Way.find(params[:id])
-     
-    @name = @way.tags['name'].to_s 
-    if @name.length == 0:
-      @name = "#" + @way.id.to_s
-    end
-       
-    @title = 'Way | ' + (@name)
-    @next = Way.find(:first, :order => "id ASC", :conditions => [ "visible = true AND id > :id", { :id => @way.id }] ) 
-    @prev = Way.find(:first, :order => "id DESC", :conditions => [ "visible = true AND id < :id", { :id => @way.id }] ) 
+    @next = Way.find(:first, :order => "id ASC", :conditions => [ "visible = true AND id > :id", { :id => @way.id }] )
+    @prev = Way.find(:first, :order => "id DESC", :conditions => [ "visible = true AND id < :id", { :id => @way.id }] )
   rescue ActiveRecord::RecordNotFound
     @type = "way"
     render :action => "not_found", :status => :not_found
   end
   
-  def way_history 
+  def way_history
     @way = Way.find(params[:id])
-     
-    @name = @way.tags['name'].to_s 
-    if @name.length == 0:
-      @name = "#" + @way.id.to_s
-    end
-       
-    @title = 'Way History | ' + (@name)
   rescue ActiveRecord::RecordNotFound
     @type = "way"
     render :action => "not_found", :status => :not_found
   end
 
-  def node 
+  def node
     @node = Node.find(params[:id])
-     
-    @name = @node.tags_as_hash['name'].to_s 
-    if @name.length == 0:
-      @name = "#" + @node.id.to_s
-    end
-       
-    @title = 'Node | ' + (@name)
-    @next = Node.find(:first, :order => "id ASC", :conditions => [ "visible = true AND id > :id", { :id => @node.id }] ) 
-    @prev = Node.find(:first, :order => "id DESC", :conditions => [ "visible = true AND id < :id", { :id => @node.id }] ) 
+    @next = Node.find(:first, :order => "id ASC", :conditions => [ "visible = true AND id > :id", { :id => @node.id }] )
+    @prev = Node.find(:first, :order => "id DESC", :conditions => [ "visible = true AND id < :id", { :id => @node.id }] )
   rescue ActiveRecord::RecordNotFound
     @type = "node"
     render :action => "not_found", :status => :not_found
   end
   
-  def node_history 
+  def node_history
     @node = Node.find(params[:id])
-     
-    @name = @node.tags_as_hash['name'].to_s 
-    if @name.length == 0:
-      @name = "#" + @node.id.to_s
-    end
-       
-    @title = 'Node History | ' + (@name)
   rescue ActiveRecord::RecordNotFound
     @type = "way"
     render :action => "not_found", :status => :not_found
index 34302a8af2d7f8af01c963d1b7ba1b2059216742..67420151c48efa016f844028b7bfc9d0997af330 100644 (file)
@@ -2,4 +2,15 @@ module BrowseHelper
   def link_to_page(page, page_param)
     return link_to(page, page_param => page)
   end
+  
+  def printable_name(object, version=false)
+    name = object.id.to_s
+    if version
+      name = "#{name}, v#{object.version.to_s}"
+    end
+    if object.tags.include? 'name'
+      name = "#{object.tags['name'].to_s} (#{name})"
+    end
+    return name
+  end
 end
index f0294d33952bd015f43c48d860ff30721b7a8b4e..7bd7442dd973f46d6af1fb95aa15b2eaacb0c8a2 100644 (file)
@@ -3,4 +3,6 @@ class OldRelationMember < ActiveRecord::Base
 
   set_primary_keys :id, :version, :sequence_id
   belongs_to :relation, :foreign_key=> :id
+  # A bit messy, referring to the current tables, should do for the data browser for now
+  belongs_to :member, :polymorphic => true
 end
index 7420b5cfc6de874fff207e65571eda62f4e9a7ae..6234b85c2b48c4baaeb15579623e878a49d19c3e 100644 (file)
@@ -4,4 +4,7 @@ class OldWayNode < ActiveRecord::Base
   set_primary_keys :id, :version, :sequence_id
 
   belongs_to :way, :foreign_key=> :id
+  
+  # A bit messy, referring to current nodes, should do for the data browser for now
+  belongs_to :node
 end
index 13b64d3405f2cff622ee8e7ef45f950bab2a9749..6408b489b2307ac6c3b6056b4cfaabdcb6d2f0bf 100644 (file)
@@ -53,7 +53,7 @@
       <td>
         <table cellpadding="0">
           <% @nodes.each do |node| %>
-            <tr><td><%= link_to "Node #{node.id.to_s}, version #{node.version.to_s}", :action => "node", :id => node.id.to_s %></td></tr>
+            <tr><td><%= link_to h(printable_name(node, true)), :action => "node", :id => node.id.to_s %></td></tr>
           <% end %>
         </table>
       </td>
@@ -67,7 +67,7 @@
       <td>
         <table cellpadding="0">
           <% @ways.each do |way| %>
-            <tr><td><%= link_to "Way #{way.id.to_s}, version #{way.version.to_s}", :action => "way", :id => way.id.to_s %></td></tr>
+          <tr><td><%= link_to h(printable_name(way, true)), :action => "way", :id => way.id.to_s %></td></tr>
           <% end %>
           <%=
           #render :partial => "containing_relation", :collection => changeset_details.containing_relation_members 
@@ -84,7 +84,7 @@
       <td>
         <table cellpadding="0">
           <% @relations.each do |relation| %>
-            <tr><td><%= link_to "Relation #{relation.id.to_s}, version #{relation.version.to_s}", :action => "relation", :id => relation.id.to_s %></td></tr>
+          <tr><td><%= link_to h(printable_name(relation, true)), :action => "relation", :id => relation.id.to_s %></td></tr>
           <% end %>
         </table>
       </td>
index 013a7b6d7bf411f27ba34e0ff143ca738f07bb6b..f5317f0453f97f473c85719e56c92b1ad0fcb71e 100644 (file)
@@ -1,6 +1,6 @@
 <tr>
   <td>
-    <%= link_to "Relation " + containing_relation.relation.id.to_s, :action => "relation", :id => containing_relation.relation.id.to_s %>
+    <%= link_to "Relation " + h(printable_name(containing_relation.relation)), :action => "relation", :id => containing_relation.relation.id.to_s %>
     <% unless containing_relation.member_role.blank? %>
       (as <%= h(containing_relation.member_role) %>)
     <% end %>
index 1aa5bf69cdf57eeb3cd51918e1ba2d72213c59fb..492aa06db43f44de461eb2a834ff01010bc8b45c 100644 (file)
@@ -8,7 +8,7 @@
       <td>
         <table cellpadding="0">
           <% node_details.ways.each do |way| %>
-            <tr><td><%= link_to "Way " + way.id.to_s, :action => "way", :id => way.id.to_s %></td></tr>
+            <tr><td><%= link_to h(printable_name(way)), :action => "way", :id => way.id.to_s %></td></tr>
           <% end %>
           <%= render :partial => "containing_relation", :collection => node_details.containing_relation_members %>
         </table>
index fe484c3cd8820255304ecbdcfa6b3b1812a7078a..ce982e2db4cf12707986c94c0b7679ac1bc9946b 100644 (file)
@@ -1,7 +1,7 @@
 <tr>
   <td>
     <%= relation_member.member_type.capitalize %>
-    <%= link_to relation_member.member_id.to_s, :action => relation_member.member_type.downcase, :id => relation_member.member_id %>
+    <%= link_to h(printable_name(relation_member.member)), :action => relation_member.member_type.downcase, :id => relation_member.member_id.to_s %>
     <% unless relation_member.member_role.blank? %>
       as
       <%= h(relation_member.member_role) %>
index 9dc35ad53aabe12a3334eb444ce2bbecb17d81c9..1122c80f3112d5703d5269d7abf3a88871e3e3e7 100644 (file)
@@ -7,7 +7,7 @@
     <td>
       <table cellpadding="0">
         <% way_details.way_nodes.each do |wn| %>
-          <tr><td><%= link_to "Node " + wn.node_id.to_s, :action => "node", :id => wn.node_id.to_s %></td></tr>
+          <tr><td><%= link_to h(printable_name(wn.node)), :action => "node", :id => wn.node_id.to_s %></td></tr>
         <% end %>
       </table>
     </td>
index e2db18f624852105681eb98c1816d35346153c70..f798526a893fba11ca5099dad873894e3cd79d65 100644 (file)
@@ -1,3 +1,7 @@
+<%
+@name = printable_name @node
+@title = 'Node | ' + @name
+%>
 <table width="100%">
   <tr>
     <td>
index 5fd3278c938c163df18e8b3f42b83342a75e14d7..918be42dc1593230597e7479948fb912a4c81a99 100644 (file)
@@ -1,3 +1,7 @@
+<%
+@name = printable_name @node
+@title = 'Node History | ' + @name
+%>
 <h2>Node History: <%= h(@name) %></h2>
 
 <table width="100%">
index f981938a7230a586869e02acbfeb2eeab4f06148..89f826c17ed53b1dddca4b98b0199a29e836404e 100644 (file)
@@ -1,3 +1,7 @@
+<%
+@name = printable_name @relation
+@title = 'Relation | ' + @name
+%>
 <table width="100%">
   <tr>
     <td>
index 60e0ffd17ad792e6c68970114e833702dce569ff..f6a3811ab69fe59a5f83fd7dc08723c2b57fb9ce 100644 (file)
@@ -1,3 +1,7 @@
+<%
+@name = printable_name @relation
+@title = 'Relation History | ' + @name
+%>
 <h2>Relation History: <%= h(@name) %></h2>
 
 <table width="100%">
index 2e86e65f2ea29dbd4717ab4d7b99d9ef4a5ddb7d..9a733bf9d2058e7c29e90e3575c9f2b974c7bf02 100644 (file)
@@ -1,3 +1,7 @@
+<%
+@name = printable_name @way
+@title = 'Way | ' + @name
+%>
 <table width="100%">
   <tr>
     <td>
index f44405ffaac8c6e80adfc7961494212aa6493941..c39cad54d2da878a17415a280f94365bc09db35a 100644 (file)
@@ -1,3 +1,7 @@
+<%
+@name = printable_name @way
+@title = 'Way History | ' + @name
+%>
 <h2>Way History: <%= h(@name) %></h2>
 
 <table width="100%">