Add history for ways and nodes, split 'last edited by' into a seperate template to be used in multiple places, add to routes.

This commit is contained in:
Christopher Schmidt 2008-04-20 15:14:20 +00:00
parent 15d5997067
commit 4168e0963e
6 changed files with 53 additions and 4 deletions

View file

@ -31,6 +31,21 @@ class BrowseController < ApplicationController
render :nothing => true, :status => :not_found
end
end
def way_history
begin
@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
render :nothing => true, :status => :not_found
end
end
def node_view
begin
@ -46,4 +61,18 @@ class BrowseController < ApplicationController
render :nothing => true, :status => :not_found
end
end
def node_history
begin
@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)
rescue ActiveRecord::RecordNotFound
render :nothing => true, :status => :not_found
end
end
end

View file

@ -9,7 +9,4 @@ Deleted
<% end %>
<li><%= link_to h("History"), :controller => "api/#{API_VERSION}/"+type, :id => obj.id, :action => "history" %></li>
</ul>
Last edited: <%= h(obj.timestamp) %>
<% if obj.user.data_public %>
by <%= link_to h(obj.user.display_name), :controller => 'user', :action => 'view' , :display_name => obj.user.display_name %>
<% end %>
<%= render :partial => 'common_editedby', :locals => { :obj => obj } %>

View file

@ -0,0 +1,4 @@
Last edited: <%= h(obj.timestamp) %>
<% if obj.user.data_public %>
by <%= link_to h(obj.user.display_name), :controller => 'user', :action => 'view' , :display_name => obj.user.display_name %>
<% end %>

View file

@ -0,0 +1,8 @@
<h2>Node History: <%= h(@name) %></h2>
<%= render :partial => 'common', :locals => { :obj => @node, :type => "node" } %>
<h2>Hisorical Versions</h2>
<% @node.old_nodes.reverse.each do |node| %>
<%= render :partial => 'common_editedby', :locals => { :obj => node } %>
<%= render :partial => 'tag_table', :locals => { :tags => node.tags_as_hash } %>
<hr />
<% end %>

View file

@ -0,0 +1,8 @@
<h2>Way History: <%= h(@name) %></h2>
<%= render :partial => 'common', :locals => { :obj => @way, :type => "way" } %>
<h2>Hisorical Versions</h2>
<% @way.old_ways.reverse.each do |way| %>
<%= render :partial => 'common_editedby', :locals => { :obj => way } %>
<%= render :partial => 'tag_table', :locals => { :tags => way.tags } %>
<hr />
<% end %>

View file

@ -56,7 +56,10 @@ ActionController::Routing::Routes.draw do |map|
# Data browsing
map.connect '/way/:id', :controller => 'browse', :action => 'way_view', :id => /\d+/
map.connect '/way/:id/history', :controller => 'browse', :action => 'way_history', :id => /\d+/
map.connect '/node/:id', :controller => 'browse', :action => 'node_view', :id => /\d+/
map.connect '/node/:id/history', :controller => 'browse', :action => 'node_history', :id => /\d+/
map.connect '/relation/:id', :controller => 'browse', :action => 'relation_view', :id => /\d+/
# web site