X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/c3453cf57df864b008dca6479f84504f81c0b131..0030c7753740820fab12455dd841cd39c58b6475:/app/controllers/site_controller.rb diff --git a/app/controllers/site_controller.rb b/app/controllers/site_controller.rb index d08f34a0a..21ef26bac 100644 --- a/app/controllers/site_controller.rb +++ b/app/controllers/site_controller.rb @@ -32,13 +32,11 @@ class SiteController < ApplicationController end def edit - editor = @user.preferred_editor || DEFAULT_EDITOR + editor = params[:editor] || @user.preferred_editor || DEFAULT_EDITOR - if editor == "josm" + if editor == "remote" render :action => :index else - session[:token] = @user.tokens.create.token unless session[:token] and UserToken.find_by_token(session[:token]) - # Decide on a lat lon to initialise potlatch with. Various ways of doing this if params['lon'] and params['lat'] @lon = params['lon'].to_f @@ -50,8 +48,21 @@ class SiteController < ApplicationController @lat = params['mlat'].to_f @zoom = params['zoom'].to_i + elsif params['bbox'] + bbox = params['bbox'].split(",") + + @lon = ( bbox[0].to_f + bbox[2].to_f ) / 2.0 + @lat = ( bbox[1].to_f + bbox[3].to_f ) / 2.0 + @zoom = 16 + + elsif params['minlon'] and params['minlat'] and params['maxlon'] and params['maxlat'] + @lon = ( params['maxlon'].to_f + params['minlon'].to_f ) / 2.0 + @lat = ( params['maxlat'].to_f + params['minlat'].to_f ) / 2.0 + @zoom = 16 + elsif params['gpx'] - #use gpx id to locate (dealt with below) + @lon = Trace.find(params['gpx']).longitude + @lat = Trace.find(params['gpx']).latitude elsif cookies.key?("_osm_location") @lon, @lat, @zoom, layers = cookies["_osm_location"].split("|") @@ -65,7 +76,7 @@ class SiteController < ApplicationController #Currently this results in potlatch starting up at 0,0 (Atlantic ocean). end - @zoom = '14' if @zoom.nil? + @zoom = '17' if @zoom.nil? end end end