]> git.openstreetmap.org Git - rails.git/commitdiff
Make the AMF getway_old call parse times as UTC
authorTom Hughes <tom@compton.nu>
Fri, 1 Dec 2017 19:21:42 +0000 (19:21 +0000)
committerTom Hughes <tom@compton.nu>
Fri, 1 Dec 2017 19:24:26 +0000 (19:24 +0000)
Although it's not entirely clear how to interpret a timestamp from
a client the production servers have effectively been parsing them
as UTC because they run in the UTC time zone all year.

Using Time.zone to do the parse forces it to happen in the rails time
zone rather than the system time zone, which defaults to UTC as well.

Fixes #1688

app/controllers/amf_controller.rb

index 5181280d9410eff5c9b2eb6fe06a7fefd5b2f98f..4c24a1cec79ecf16e9a2580aec40ac8c4fbfe35d 100644 (file)
@@ -375,7 +375,7 @@ class AmfController < ApplicationController
       else
         begin
           # revert
-          timestamp = Time.strptime(timestamp.to_s, "%d %b %Y, %H:%M:%S")
+          timestamp = Time.zone.strptime(timestamp.to_s, "%d %b %Y, %H:%M:%S")
           old_way = OldWay.where("way_id = ? AND timestamp <= ?", id, timestamp).unredacted.order("timestamp DESC").first
           unless old_way.nil?
             if old_way.visible