X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/9617ca2accf5f00b75e5b7323bda435b6f596ea0..d0bc9b90916a56dc64b6b4c7b072364c7859cebe:/app/controllers/trace_controller.rb diff --git a/app/controllers/trace_controller.rb b/app/controllers/trace_controller.rb index 1dee0b924..b29b6dde1 100644 --- a/app/controllers/trace_controller.rb +++ b/app/controllers/trace_controller.rb @@ -9,6 +9,8 @@ class TraceController < ApplicationController before_filter :check_database_writable, :only => [:create, :edit, :delete] before_filter :check_api_readable, :only => [:api_details, :api_data] before_filter :check_api_writable, :only => [:api_create] + before_filter :require_allow_read_gpx, :only => [:api_details, :api_data] + before_filter :require_allow_write_gpx, :only => [:api_create] # Counts and selects pages of GPX traces for various criteria (by user, tags, public etc.). # target_user - if set, specifies the user to fetch traces for. if not set will fetch all traces @@ -291,12 +293,16 @@ class TraceController < ApplicationController if request.post? tags = params[:tags] || "" description = params[:description] || "" - visibility = params[:visibility] || false + visibility = params[:visibility] - if params[:public] && !visibility - visibility = "public" + if visibility.nil? + if params[:public] && params[:public].to_i.nonzero? + visibility = "public" + else + visibility = "private" + end end - + if params[:file].respond_to?(:read) do_create(params[:file], tags, description, visibility)