Moved a bunch of time functions into UTC. Fixes bugs which we only see for 4 hours a year.
This commit is contained in:
parent
8140c99313
commit
afcb345014
12 changed files with 22 additions and 22 deletions
|
@ -157,7 +157,7 @@ class AmfController < ApplicationController
|
|||
cs.tags = cstags
|
||||
cs.user_id = user.id
|
||||
# smsm1 doesn't like the next two lines and thinks they need to be abstracted to the model more/better
|
||||
cs.created_at = Time.now
|
||||
cs.created_at = Time.now.getutc
|
||||
cs.closed_at = cs.created_at + Changeset::IDLE_TIMEOUT
|
||||
cs.save_with_tags!
|
||||
return [0,cs.id]
|
||||
|
|
|
@ -225,7 +225,7 @@ class ApiController < ApplicationController
|
|||
endtime = Time.parse(params[:end])
|
||||
else
|
||||
hours = (params[:hours] || '1').to_i.hours
|
||||
endtime = Time.now
|
||||
endtime = Time.now.getutc
|
||||
starttime = endtime - hours
|
||||
end
|
||||
|
||||
|
|
|
@ -461,7 +461,7 @@ private
|
|||
# if parameter 'open' is nill then open and closed changsets are returned
|
||||
def conditions_open(open)
|
||||
return open.nil? ? nil : ['closed_at >= ? and num_changes <= ?',
|
||||
DateTime.now, Changeset::MAX_ELEMENTS]
|
||||
Time.now.getutc, Changeset::MAX_ELEMENTS]
|
||||
end
|
||||
|
||||
##
|
||||
|
@ -469,7 +469,7 @@ private
|
|||
# ('closed at' time has passed or changes limit is hit)
|
||||
def conditions_closed(closed)
|
||||
return closed.nil? ? nil : ['closed_at < ? and num_changes > ?',
|
||||
DateTime.now, Changeset::MAX_ELEMENTS]
|
||||
Time.now.getutc, Changeset::MAX_ELEMENTS]
|
||||
end
|
||||
|
||||
##
|
||||
|
|
|
@ -15,7 +15,7 @@ class MessageController < ApplicationController
|
|||
@message = Message.new(params[:message])
|
||||
@message.to_user_id = @to_user.id
|
||||
@message.from_user_id = @user.id
|
||||
@message.sent_on = Time.now
|
||||
@message.sent_on = Time.now.getutc
|
||||
|
||||
if @message.save
|
||||
flash[:notice] = 'Message sent'
|
||||
|
|
|
@ -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
|
||||
|
@ -313,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)
|
||||
|
|
|
@ -42,12 +42,12 @@ class Changeset < ActiveRecord::Base
|
|||
# note that this may not be a hard limit - due to timing changes and
|
||||
# concurrency it is possible that some changesets may be slightly
|
||||
# longer than strictly allowed or have slightly more changes in them.
|
||||
return ((closed_at > Time.now) and (num_changes <= MAX_ELEMENTS))
|
||||
return ((closed_at > Time.now.getutc) and (num_changes <= MAX_ELEMENTS))
|
||||
end
|
||||
|
||||
def set_closed_time_now
|
||||
if is_open?
|
||||
self.closed_at = Time.now
|
||||
self.closed_at = Time.now.getutc
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -60,10 +60,10 @@ class Changeset < ActiveRecord::Base
|
|||
|
||||
doc.find('//osm/changeset').each do |pt|
|
||||
if create
|
||||
cs.created_at = Time.now
|
||||
cs.created_at = Time.now.getutc
|
||||
# initial close time is 1h ahead, but will be increased on each
|
||||
# modification.
|
||||
cs.closed_at = Time.now + IDLE_TIMEOUT
|
||||
cs.closed_at = cs.created_at + IDLE_TIMEOUT
|
||||
# initially we have no changes in a changeset
|
||||
cs.num_changes = 0
|
||||
end
|
||||
|
@ -140,7 +140,7 @@ class Changeset < ActiveRecord::Base
|
|||
end
|
||||
|
||||
def save_with_tags!
|
||||
t = Time.now
|
||||
t = Time.now.getutc
|
||||
|
||||
# do the changeset update and the changeset tags update in the
|
||||
# same transaction to ensure consistency.
|
||||
|
@ -151,7 +151,7 @@ class Changeset < ActiveRecord::Base
|
|||
if (closed_at - created_at) > (MAX_TIME_OPEN - IDLE_TIMEOUT)
|
||||
self.closed_at = created_at + MAX_TIME_OPEN
|
||||
else
|
||||
self.closed_at = Time.now + IDLE_TIMEOUT
|
||||
self.closed_at = Time.now.getutc + IDLE_TIMEOUT
|
||||
end
|
||||
self.save!
|
||||
|
||||
|
|
|
@ -267,7 +267,7 @@ class Node < ActiveRecord::Base
|
|||
private
|
||||
|
||||
def save_with_history!
|
||||
t = Time.now
|
||||
t = Time.now.getutc
|
||||
Node.transaction do
|
||||
self.version += 1
|
||||
self.timestamp = t
|
||||
|
|
|
@ -51,7 +51,7 @@ class Relation < ActiveRecord::Base
|
|||
# The follow block does not need to be executed because they are dealt with
|
||||
# in create_with_history, update_from and delete_with_history
|
||||
if create
|
||||
relation.timestamp = Time.now
|
||||
relation.timestamp = Time.now.getutc
|
||||
relation.visible = true
|
||||
relation.version = 0
|
||||
else
|
||||
|
@ -334,7 +334,7 @@ class Relation < ActiveRecord::Base
|
|||
# changed then we have to monitor their before and after state.
|
||||
tags_changed = false
|
||||
|
||||
t = Time.now
|
||||
t = Time.now.getutc
|
||||
self.version += 1
|
||||
self.timestamp = t
|
||||
self.save!
|
||||
|
|
|
@ -30,7 +30,7 @@ class User < ActiveRecord::Base
|
|||
file_column :image, :magick => { :geometry => "100x100>" }
|
||||
|
||||
def after_initialize
|
||||
self.creation_time = Time.now if self.creation_time.nil?
|
||||
self.creation_time = Time.now.getutc if self.creation_time.nil?
|
||||
end
|
||||
|
||||
def encrypt_password
|
||||
|
|
|
@ -51,7 +51,7 @@ class Way < ActiveRecord::Base
|
|||
|
||||
# This next section isn't required for the create, update, or delete of ways
|
||||
if create
|
||||
way.timestamp = Time.now
|
||||
way.timestamp = Time.now.getutc
|
||||
way.visible = true
|
||||
else
|
||||
if pt['timestamp']
|
||||
|
@ -296,7 +296,7 @@ class Way < ActiveRecord::Base
|
|||
private
|
||||
|
||||
def save_with_history!
|
||||
t = Time.now
|
||||
t = Time.now.getutc
|
||||
|
||||
# update the bounding box, note that this has to be done both before
|
||||
# and after the save, so that nodes from both versions are included in the
|
||||
|
|
|
@ -160,7 +160,7 @@ class ApiControllerTest < ActionController::TestCase
|
|||
#print @response.body
|
||||
# As we have loaded the fixtures, we can assume that there are no
|
||||
# changes recently
|
||||
now = Time.now
|
||||
now = Time.now.getutc
|
||||
hourago = now - 1.hour
|
||||
# Note that this may fail on a very slow machine, so isn't a great test
|
||||
assert_select "osm[version='#{API_VERSION}'][generator='#{GENERATOR}']:root", :count => 1 do
|
||||
|
@ -181,7 +181,7 @@ class ApiControllerTest < ActionController::TestCase
|
|||
1.upto(16) do |zoom|
|
||||
get :changes, :zoom => zoom
|
||||
assert_response :success
|
||||
now = Time.now
|
||||
now = Time.now.getutc
|
||||
hourago = now - 1.hour
|
||||
# Note that this may fail on a very slow machine, so isn't a great test
|
||||
assert_select "osm[version='#{API_VERSION}'][generator='#{GENERATOR}']:root", :count => 1 do
|
||||
|
|
|
@ -37,7 +37,7 @@ class ChangesetControllerTest < ActionController::TestCase
|
|||
assert_equal Rational(1,24), duration , "initial idle timeout should be an hour (#{cs.created_at} -> #{cs.closed_at})"
|
||||
else
|
||||
# must be number of seconds...
|
||||
assert_equal 3600.0, duration , "initial idle timeout should be an hour (#{cs.created_at} -> #{cs.closed_at})"
|
||||
assert_equal 3600, duration.round, "initial idle timeout should be an hour (#{cs.created_at} -> #{cs.closed_at})"
|
||||
end
|
||||
end
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue