diff --git a/app/controllers/browse_controller.rb b/app/controllers/browse_controller.rb
index 1806558f2..785d8cdcf 100644
--- a/app/controllers/browse_controller.rb
+++ b/app/controllers/browse_controller.rb
@@ -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
diff --git a/app/views/browse/_common.rhtml b/app/views/browse/_common.rhtml
index d5db7c6cc..ec590bda0 100644
--- a/app/views/browse/_common.rhtml
+++ b/app/views/browse/_common.rhtml
@@ -9,7 +9,4 @@ Deleted
<% end %>
<%= link_to h("History"), :controller => "api/#{API_VERSION}/"+type, :id => obj.id, :action => "history" %>
-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 } %>
diff --git a/app/views/browse/_common_editedby.rhtml b/app/views/browse/_common_editedby.rhtml
new file mode 100644
index 000000000..0f00f3e3c
--- /dev/null
+++ b/app/views/browse/_common_editedby.rhtml
@@ -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 %>
diff --git a/app/views/browse/node_history.rhtml b/app/views/browse/node_history.rhtml
new file mode 100644
index 000000000..ad46202b7
--- /dev/null
+++ b/app/views/browse/node_history.rhtml
@@ -0,0 +1,8 @@
+Node History: <%= h(@name) %>
+<%= render :partial => 'common', :locals => { :obj => @node, :type => "node" } %>
+Hisorical Versions
+<% @node.old_nodes.reverse.each do |node| %>
+<%= render :partial => 'common_editedby', :locals => { :obj => node } %>
+<%= render :partial => 'tag_table', :locals => { :tags => node.tags_as_hash } %>
+
+<% end %>
diff --git a/app/views/browse/way_history.rhtml b/app/views/browse/way_history.rhtml
new file mode 100644
index 000000000..32aadb3ff
--- /dev/null
+++ b/app/views/browse/way_history.rhtml
@@ -0,0 +1,8 @@
+Way History: <%= h(@name) %>
+<%= render :partial => 'common', :locals => { :obj => @way, :type => "way" } %>
+Hisorical Versions
+<% @way.old_ways.reverse.each do |way| %>
+<%= render :partial => 'common_editedby', :locals => { :obj => way } %>
+<%= render :partial => 'tag_table', :locals => { :tags => way.tags } %>
+
+<% end %>
diff --git a/config/routes.rb b/config/routes.rb
index 77a8dd8c2..b8de4eca9 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -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