From bb8acc842464bdc00987a54bc0c405223dd1a50d Mon Sep 17 00:00:00 2001 From: Christopher Schmidt Date: Sun, 20 Apr 2008 15:32:25 +0000 Subject: [PATCH] Add support for relation history. --- app/controllers/browse_controller.rb | 16 ++++++++++++++++ app/views/browse/_member.rhtml | 4 +--- app/views/browse/_relation_members.rhtml | 4 ++-- app/views/browse/relation_history.rhtml | 9 +++++++++ app/views/browse/relation_view.rhtml | 2 +- config/routes.rb | 1 + 6 files changed, 30 insertions(+), 6 deletions(-) create mode 100644 app/views/browse/relation_history.rhtml diff --git a/app/controllers/browse_controller.rb b/app/controllers/browse_controller.rb index 785d8cdcf..e679442c1 100644 --- a/app/controllers/browse_controller.rb +++ b/app/controllers/browse_controller.rb @@ -17,6 +17,21 @@ class BrowseController < ApplicationController end end + def relation_history + begin + @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 + render :nothing => true, :status => :not_found + end + end + def way_view begin @way = Way.find(params[:id]) @@ -61,6 +76,7 @@ class BrowseController < ApplicationController render :nothing => true, :status => :not_found end end + def node_history begin @node = Node.find(params[:id]) diff --git a/app/views/browse/_member.rhtml b/app/views/browse/_member.rhtml index 104c7e1f9..2b9ee2b31 100644 --- a/app/views/browse/_member.rhtml +++ b/app/views/browse/_member.rhtml @@ -1,7 +1,5 @@ -<% if member.member.visible %> - <%= link_to member.member.id.to_s, :controller => member.member_type, :id => member.member.id %> + <%= link_to member.member_id.to_s, :controller => member.member_type, :id => member.member_id %> <%= h(member.member_type) %> <%= h(member.member_role) %> -<% end %> diff --git a/app/views/browse/_relation_members.rhtml b/app/views/browse/_relation_members.rhtml index 0e7772152..ebe20ba7e 100644 --- a/app/views/browse/_relation_members.rhtml +++ b/app/views/browse/_relation_members.rhtml @@ -1,4 +1,4 @@ -<% if relation.members.length != 0 %> +<% if members.length != 0 %>

Members

@@ -6,6 +6,6 @@ - <%= render :partial => 'member', :collection => relation.relation_members %> + <%= render :partial => 'member', :collection => members %>
Type Role
<% end %> diff --git a/app/views/browse/relation_history.rhtml b/app/views/browse/relation_history.rhtml new file mode 100644 index 000000000..f3a75cd07 --- /dev/null +++ b/app/views/browse/relation_history.rhtml @@ -0,0 +1,9 @@ +

Relation History: <%= h(@name) %>

+<%= render :partial => 'common', :locals => { :obj => @relation, :type => "relation" } %> +

Hisorical Versions

+<% @relation.old_relations.reverse.each do |relation| %> +<%= render :partial => 'common_editedby', :locals => { :obj => relation } %> +<%= render :partial => 'tag_table', :locals => { :tags => relation.tags } %> +<%= render :partial => 'relation_members', :locals => { :members => relation.old_members } %> +
+<% end %> diff --git a/app/views/browse/relation_view.rhtml b/app/views/browse/relation_view.rhtml index c75e485ae..5dc06f10a 100644 --- a/app/views/browse/relation_view.rhtml +++ b/app/views/browse/relation_view.rhtml @@ -1,4 +1,4 @@

Relation Browser: <%= h(@name) %>

<%= render :partial => 'common', :locals => { :obj => @relation, :type => "relation" } %> <%= render :partial => 'tag_table', :locals => { :tags => @relation.tags } %> -<%= render :partial => 'relation_members', :locals => { :relation => @relation } %> +<%= render :partial => 'relation_members', :locals => { :members => @relation.relation_members } %> diff --git a/config/routes.rb b/config/routes.rb index b8de4eca9..83b39e615 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -60,6 +60,7 @@ ActionController::Routing::Routes.draw do |map| 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+/ + map.connect '/relation/:id/history', :controller => 'browse', :action => 'relation_history', :id => /\d+/ # web site -- 2.43.2