X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/9bb9de0fbe307304ef4d0ea0dbeaac7972b71cb2..afcb345014d98914cd4f5d6b14ca2e30feac194c:/app/controllers/trace_controller.rb?ds=sidebyside diff --git a/app/controllers/trace_controller.rb b/app/controllers/trace_controller.rb index 47041b491..c0a0b36b5 100644 --- a/app/controllers/trace_controller.rb +++ b/app/controllers/trace_controller.rb @@ -117,7 +117,7 @@ class TraceController < ApplicationController :description => params[:trace][:description], :public => params[:trace][:public], :inserted => false, :user => @user, - :timestamp => Time.now}) + :timestamp => Time.now.getutc}) @trace.valid? @trace.errors.add(:gpx_file, "can't be blank") end @@ -279,12 +279,20 @@ class TraceController < ApplicationController def api_create if request.post? - do_create(params[:file], params[:tags], params[:description], params[:public]) + tags = params[:tags] || "" + description = params[:description] || "" + pub = params[:public] || false + + if params[:file].respond_to?(:read) + do_create(params[:file], tags, description, pub) - if @trace.id - render :text => @trace.id.to_s, :content_type => "text/plain" - elsif @trace.valid? - render :nothing => true, :status => :internal_server_error + if @trace.id + render :text => @trace.id.to_s, :content_type => "text/plain" + elsif @trace.valid? + render :nothing => true, :status => :internal_server_error + else + render :nothing => true, :status => :bad_request + end else render :nothing => true, :status => :bad_request end @@ -305,7 +313,7 @@ private :description => description, :public => public}) @trace.inserted = false @trace.user = @user - @trace.timestamp = Time.now + @trace.timestamp = Time.now.getutc if @trace.save FileUtils.mv(filename, @trace.trace_name)