]> git.openstreetmap.org Git - rails.git/commitdiff
Use point.trace instead of an additional gpx_file variable
authorAndy Allan <git@gravitystorm.co.uk>
Wed, 11 Nov 2020 17:51:52 +0000 (17:51 +0000)
committerAndy Allan <git@gravitystorm.co.uk>
Wed, 11 Nov 2020 17:51:52 +0000 (17:51 +0000)
Every point knows which trace it's associated with, so there's no
need to search for it separately

app/controllers/api/tracepoints_controller.rb

index 5fbece05b7a1eb08638cb6b8c64acad0897113ad..81de17bbcd219c1fceea01888effc782dc099aab 100644 (file)
@@ -53,24 +53,22 @@ module Api
       trkseg = nil
       anon_track = nil
       anon_trkseg = nil
-      gpx_file = nil
       timestamps = false
 
       points.each do |point|
         if gpx_id != point.gpx_id
           gpx_id = point.gpx_id
           trackid = -1
-          gpx_file = Trace.find(gpx_id)
 
-          if gpx_file.trackable?
+          if point.trace.trackable?
             track = XML::Node.new "trk"
             doc.root << track
             timestamps = true
 
-            if gpx_file.identifiable?
-              track << (XML::Node.new("name") << gpx_file.name)
-              track << (XML::Node.new("desc") << gpx_file.description)
-              track << (XML::Node.new("url") << url_for(:controller => "/traces", :action => "show", :display_name => gpx_file.user.display_name, :id => gpx_file.id))
+            if point.trace.identifiable?
+              track << (XML::Node.new("name") << point.trace.name)
+              track << (XML::Node.new("desc") << point.trace.description)
+              track << (XML::Node.new("url") << url_for(:controller => "/traces", :action => "show", :display_name => point.trace.user.display_name, :id => point.trace.id))
             end
           else
             # use the anonymous track segment if the user hasn't allowed
@@ -85,7 +83,7 @@ module Api
         end
 
         if trackid != point.trackid
-          if gpx_file.trackable?
+          if point.trace.trackable?
             trkseg = XML::Node.new "trkseg"
             track << trkseg
             trackid = point.trackid