]> git.openstreetmap.org Git - rails.git/blobdiff - app/controllers/site_controller.rb
Extend API to allow changesets to be queried by ids
[rails.git] / app / controllers / site_controller.rb
index f4564100c1edc6ff284411b710776415f68fd7ed..2f5a9a494c61aa8e6da2dd2e925136c3ebb56c00 100644 (file)
@@ -1,6 +1,6 @@
 class SiteController < ApplicationController
-  layout 'site', :except => [:key, :permalink]
-  layout false, :only => [:key, :permalink]
+  layout 'site'
+  layout :map_layout, :only => [:index, :export]
 
   before_filter :authorize_web
   before_filter :set_locale
@@ -34,34 +34,38 @@ class SiteController < ApplicationController
 
   def key
     expires_in 7.days, :public => true
+    render :layout => false
   end
 
   def edit
     editor = preferred_editor
 
     if editor == "remote"
-      render :action => :index
+      require_oauth
+      render :action => :index, :layout => map_layout
       return
     end
 
-    @extra_body_class = "site-edit-#{editor}"
-
     if params[:node]
       bbox = Node.find(params[:node]).bbox.to_unscaled
       @lat = bbox.centre_lat
       @lon = bbox.centre_lon
+      @zoom = 18
     elsif params[:way]
       bbox = Way.find(params[:way]).bbox.to_unscaled
       @lat = bbox.centre_lat
       @lon = bbox.centre_lon
+      @zoom = 17
     elsif params[:note]
       note = Note.find(params[:note])
       @lat = note.lat
       @lon = note.lon
+      @zoom = 17
     elsif params[:gpx]
       trace = Trace.visible_to(@user).find(params[:gpx])
       @lat = trace.latitude
       @lon = trace.longitude
+      @zoom = 16
     end
   end
 
@@ -97,6 +101,8 @@ class SiteController < ApplicationController
       redirect_to relation_path(params[:relation])
     elsif params[:note]
       redirect_to browse_note_path(params[:note])
+    elsif params[:query]
+      redirect_to search_path(:query => params[:query])
     end
   end