Redirect ?node=n and similar to browse pages
authorJohn Firebaugh <john.firebaugh@gmail.com>
Sat, 28 Sep 2013 22:02:36 +0000 (15:02 -0700)
committerJohn Firebaugh <john.firebaugh@gmail.com>
Sun, 13 Oct 2013 21:45:58 +0000 (14:45 -0700)
app/controllers/site_controller.rb
config/routes.rb

index 4945aaa..32a0f8c 100644 (file)
@@ -97,7 +97,15 @@ class SiteController < ApplicationController
       anchor << "layers=N"
     end
 
-    if anchor.present?
+    if params[:node]
+      redirect_to node_path(params[:node])
+    elsif params[:way]
+      redirect_to way_path(params[:way])
+    elsif params[:relation]
+      redirect_to relation_path(params[:relation])
+    elsif params[:note]
+      redirect_to browse_note_path(params[:note])
+    elsif anchor.present?
       redirect_to params.merge(:anchor => anchor.join('&'))
     end
   end
index 4351b65..a1321d7 100644 (file)
@@ -103,11 +103,11 @@ OpenStreetMap::Application.routes.draw do
 
   # Data browsing
   match '/browse/start' => 'browse#start', :via => :get
-  match '/browse/way/:id' => 'browse#way', :via => :get, :id => /\d+/
+  match '/browse/way/:id' => 'browse#way', :via => :get, :id => /\d+/, :as => :way
   match '/browse/way/:id/history' => 'browse#way_history', :via => :get, :id => /\d+/
-  match '/browse/node/:id' => 'browse#node', :via => :get, :id => /\d+/
+  match '/browse/node/:id' => 'browse#node', :via => :get, :id => /\d+/, :as => :node
   match '/browse/node/:id/history' => 'browse#node_history', :via => :get, :id => /\d+/
-  match '/browse/relation/:id' => 'browse#relation', :via => :get, :id => /\d+/
+  match '/browse/relation/:id' => 'browse#relation', :via => :get, :id => /\d+/, :as => :relation
   match '/browse/relation/:id/history' => 'browse#relation_history', :via => :get, :id => /\d+/
   match '/browse/changeset/:id' => 'browse#changeset', :via => :get, :as => :changeset, :id => /\d+/
   match '/browse/note/:id' => 'browse#note', :via => :get, :id => /\d+/, :as => "browse_note"