diff --git a/app/controllers/user_controller.rb b/app/controllers/user_controller.rb
index 2b695ce7a..eaac774d2 100644
--- a/app/controllers/user_controller.rb
+++ b/app/controllers/user_controller.rb
@@ -1,5 +1,7 @@
class UserController < ApplicationController
layout 'site'
+
+ before_filter :authorize, :only => :preferences
def save
@user = User.new(params[:user])
@@ -93,4 +95,16 @@ class UserController < ApplicationController
end
end
+ def preferences
+ if request.get?
+ render_text @user.preferences
+ elsif request.post? or request.put?
+ @user.preferences = request.raw_post
+ @user.save!
+ render :nothing => true
+ else
+ render :status => 400, :nothing => true
+ end
+ end
end
+
diff --git a/app/models/notifier.rb b/app/models/notifier.rb
index c165dca96..b064ee1f0 100644
--- a/app/models/notifier.rb
+++ b/app/models/notifier.rb
@@ -4,14 +4,14 @@ class Notifier < ActionMailer::Base
@recipients = user.email
@from = 'abuse@openstreetmap.org'
@subject = '[OpenStreetMap] Confirm your email address'
- @body['url'] = 'http://www.openstreetmap.org/user/confirm?confirm_string=' + user.token
+ @body['url'] = "http://#{SERVER_URL}/user/confirm?confirm_string=#{user.token}"
end
def lost_password( user )
@recipients = user.email
@from = 'abuse@openstreetmap.org'
@subject = '[OpenStreetMap] Password reset request'
- @body['url'] = "http://www.openstreetmap.org/user/reset_password?email=#{user.email}&token=#{user.token}"
+ @body['url'] = "http://#{SERVER_URL}/user/reset_password?email=#{user.email}&token=#{user.token}"
end
def reset_password(user, pass)
diff --git a/app/views/notifier/signup_confirm.rhtml b/app/views/notifier/signup_confirm.rhtml
index a998f5782..05fa3f613 100644
--- a/app/views/notifier/signup_confirm.rhtml
+++ b/app/views/notifier/signup_confirm.rhtml
@@ -1,7 +1,7 @@
Hi,
Somone (hopefully you) would like to create an account over at
-www.openstreetmap.org
+<%= SERVER_URL %>
If this is you, please click the link below to confirm that account.
diff --git a/app/views/site/index.rhtml b/app/views/site/index.rhtml
index a7dbd15e3..344c43273 100644
--- a/app/views/site/index.rhtml
+++ b/app/views/site/index.rhtml
@@ -36,7 +36,7 @@
function init(){
OpenLayers.Util.onImageLoadError = function() {
- this.src = "http://www.openstreetmap.org/javascript/img/404.png";
+ this.src = "http://<%= SERVER_URL %>/javascript/img/404.png";
}
map = new OpenLayers.Map( "map",
{maxExtent: new OpenLayers.Bounds(-20037508.34,-20037508.34,20037508.34,20037508.34), maxResolution:156543, units:'meters', projection: "EPSG:41001"} );
diff --git a/app/views/trace/list.rhtml b/app/views/trace/list.rhtml
index dc3861a54..dce98136f 100644
--- a/app/views/trace/list.rhtml
+++ b/app/views/trace/list.rhtml
@@ -2,7 +2,7 @@
- |
+ |
<% if @user %>
<%= link_to 'See just your traces', {:controller => 'trace', :action => 'mine'} %>
<% else %>
diff --git a/config/environment.rb b/config/environment.rb
index 76f1669a2..a26cb5442 100644
--- a/config/environment.rb
+++ b/config/environment.rb
@@ -52,7 +52,8 @@ end
# Include your application configuration below
-API_VERSION = '0.4'
+API_VERSION = ENV['OSM_API_VERSION'] || '0.4'
+SERVER_URL = ENV['OSM_SERVER_URL'] || 'www.openstreetmap.org'
ActionMailer::Base.server_settings = {
:address => "localhost",
diff --git a/db/migrate.sql b/db/migrate.sql
index 92ae6b171..bced11790 100644
--- a/db/migrate.sql
+++ b/db/migrate.sql
@@ -24,3 +24,4 @@ alter table gpx_file_tags drop column sequence_id;
create index gpx_file_tags_gpxid_idx on gpx_file_tags(gpx_id);
alter table gpx_file_tags add id int(20) auto_increment not null, add primary key(id);
+alter table users add preferences text;