]> git.openstreetmap.org Git - rails.git/blobdiff - app/controllers/api/tracepoints_controller.rb
Fix errors with GPX offline mode
[rails.git] / app / controllers / api / tracepoints_controller.rb
index 56cd36138b737435afcd3ea0ea3f9179e559b046..5fbece05b7a1eb08638cb6b8c64acad0897113ad 100644 (file)
@@ -1,8 +1,5 @@
 module Api
-  class TracepointsController < ApplicationController
-    skip_before_action :verify_authenticity_token
-    before_action :api_deny_access_handler
-
+  class TracepointsController < ApiController
     authorize_resource
 
     before_action :check_api_readable
@@ -19,7 +16,7 @@ module Api
         return
       end
 
-      offset = page * TRACEPOINTS_PER_PAGE
+      offset = page * Settings.tracepoints_per_page
 
       # Figure out the bbox
       # check boundary is sane and area within defined
@@ -28,15 +25,15 @@ module Api
         bbox = BoundingBox.from_bbox_params(params)
         bbox.check_boundaries
         bbox.check_size
-      rescue StandardError => err
-        report_error(err.message)
+      rescue StandardError => e
+        report_error(e.message)
         return
       end
 
       # get all the points
       ordered_points = Tracepoint.bbox(bbox).joins(:trace).where(:gpx_files => { :visibility => %w[trackable identifiable] }).order("gpx_id DESC, trackid ASC, timestamp ASC")
       unordered_points = Tracepoint.bbox(bbox).joins(:trace).where(:gpx_files => { :visibility => %w[public private] }).order("gps_points.latitude", "gps_points.longitude", "gps_points.timestamp")
-      points = ordered_points.union_all(unordered_points).offset(offset).limit(TRACEPOINTS_PER_PAGE)
+      points = ordered_points.union_all(unordered_points).offset(offset).limit(Settings.tracepoints_per_page)
 
       doc = XML::Document.new
       doc.encoding = XML::Encoding::UTF_8