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