From 4168e0963ee19e05c07b40d30e868fd652fd3757 Mon Sep 17 00:00:00 2001 From: Christopher Schmidt Date: Sun, 20 Apr 2008 15:14:20 +0000 Subject: [PATCH] Add history for ways and nodes, split 'last edited by' into a seperate template to be used in multiple places, add to routes. --- app/controllers/browse_controller.rb | 29 +++++++++++++++++++++++++ app/views/browse/_common.rhtml | 5 +---- app/views/browse/_common_editedby.rhtml | 4 ++++ app/views/browse/node_history.rhtml | 8 +++++++ app/views/browse/way_history.rhtml | 8 +++++++ config/routes.rb | 3 +++ 6 files changed, 53 insertions(+), 4 deletions(-) create mode 100644 app/views/browse/_common_editedby.rhtml create mode 100644 app/views/browse/node_history.rhtml create mode 100644 app/views/browse/way_history.rhtml 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 -- 2.43.2