Initial work on support for multiple editors

This commit is contained in:
Matt Amos 2010-11-14 12:40:44 +00:00 committed by Tom Hughes
parent 7f955a4aca
commit cd66a5db99
13 changed files with 140 additions and 72 deletions

View file

@ -30,4 +30,38 @@ class SiteController < ApplicationController
def key
expires_in 7.days, :public => true
end
def edit
session[:token] = @user.tokens.create.token unless session[:token] and UserToken.find_by_token(session[:token])
@preferred_editor = @user.preferred_editor || DEFAULT_EDITOR
# 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
@lat = params['lat'].to_f
@zoom = params['zoom'].to_i
elsif params['mlon'] and params['mlat']
@lon = params['mlon'].to_f
@lat = params['mlat'].to_f
@zoom = params['zoom'].to_i
elsif params['gpx']
#use gpx id to locate (dealt with below)
elsif cookies.key?("_osm_location")
@lon, @lat, @zoom, layers = cookies["_osm_location"].split("|")
elsif @user and !@user.home_lon.nil? and !@user.home_lat.nil?
@lon = @user.home_lon
@lat = @user.home_lat
else
#catch all. Do nothing. lat=nil, lon=nil
#Currently this results in potlatch starting up at 0,0 (Atlantic ocean).
end
@zoom = '14' if @zoom.nil?
end
end

View file

@ -109,6 +109,8 @@ class UserController < ApplicationController
@user.home_lat = params[:user][:home_lat]
@user.home_lon = params[:user][:home_lon]
@user.preferred_editor = params[:user][:preferred_editor]
if @user.save
set_locale