add navigation link
[rails.git] / app / controllers / browse_controller.rb
1 class BrowseController < ApplicationController
2   before_filter :authorize_web  
3   layout 'site'
4
5   def index
6     @nodes = Node.find(:all, :order => "timestamp DESC", :limit=> 20)  
7   end
8   
9   def relation 
10     begin
11       @relation = Relation.find(params[:id])
12      
13       @name = @relation.tags['name'].to_s 
14       if @name.length == 0:
15         @name = "#" + @relation.id.to_s
16       end
17         
18       @title = 'Relation | ' + (@name)
19       @next = Relation.find(:first, :order => "id ASC", :conditions => [ "visible = true AND id > :id", { :id => @relation.id }] ) 
20       @prev = Relation.find(:first, :order => "id DESC", :conditions => [ "visible = true AND id < :id", { :id => @relation.id }] ) 
21     rescue ActiveRecord::RecordNotFound
22       render :nothing => true, :status => :not_found
23     end
24   end
25   
26   def relation_history
27     begin
28       @relation = Relation.find(params[:id])
29      
30       @name = @relation.tags['name'].to_s 
31       if @name.length == 0:
32         @name = "#" + @relation.id.to_s
33       end
34         
35       @title = 'Relation History | ' + (@name)
36     rescue ActiveRecord::RecordNotFound
37       render :nothing => true, :status => :not_found
38     end
39   end
40   
41   def way 
42     begin
43       @way = Way.find(params[:id])
44      
45       @name = @way.tags['name'].to_s 
46       if @name.length == 0:
47         @name = "#" + @way.id.to_s
48       end
49         
50       @title = 'Way | ' + (@name)
51       @next = Way.find(:first, :order => "id ASC", :conditions => [ "visible = true AND id > :id", { :id => @way.id }] ) 
52       @prev = Way.find(:first, :order => "id DESC", :conditions => [ "visible = true AND id < :id", { :id => @way.id }] ) 
53     rescue ActiveRecord::RecordNotFound
54       render :nothing => true, :status => :not_found
55     end
56   end
57   
58   def way_history 
59     begin
60       @way = Way.find(params[:id])
61      
62       @name = @way.tags['name'].to_s 
63       if @name.length == 0:
64         @name = "#" + @way.id.to_s
65       end
66         
67       @title = 'Way History | ' + (@name)
68     rescue ActiveRecord::RecordNotFound
69       render :nothing => true, :status => :not_found
70     end
71   end
72
73   def node 
74     begin
75       @node = Node.find(params[:id])
76      
77       @name = @node.tags_as_hash['name'].to_s 
78       if @name.length == 0:
79         @name = "#" + @node.id.to_s
80       end
81         
82       @title = 'Node | ' + (@name)
83       @next = Node.find(:first, :order => "id ASC", :conditions => [ "visible = true AND id > :id", { :id => @node.id }] ) 
84       @prev = Node.find(:first, :order => "id DESC", :conditions => [ "visible = true AND id < :id", { :id => @node.id }] ) 
85     rescue ActiveRecord::RecordNotFound
86       render :nothing => true, :status => :not_found
87     end
88   end
89   
90   def node_history 
91     begin
92       @node = Node.find(params[:id])
93      
94       @name = @node.tags_as_hash['name'].to_s 
95       if @name.length == 0:
96         @name = "#" + @node.id.to_s
97       end
98         
99       @title = 'Node History | ' + (@name)
100     rescue ActiveRecord::RecordNotFound
101       render :nothing => true, :status => :not_found
102     end
103   end
104 end