X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/5449cf4adcc1fad4b9f43426e6d3e4a8f65e6fbb..d7badc8402876ca666236955c0012efae002e3e8:/app/models/changeset.rb diff --git a/app/models/changeset.rb b/app/models/changeset.rb index fa2d556b1..a1162b323 100644 --- a/app/models/changeset.rb +++ b/app/models/changeset.rb @@ -144,19 +144,9 @@ class Changeset < ActiveRecord::Base end def save_with_tags! - t = Time.now.getutc - # do the changeset update and the changeset tags update in the # same transaction to ensure consistency. Changeset.transaction do - # set the auto-close time to be one hour in the future unless - # that would make it more than 24h long, in which case clip to - # 24h, as this has been decided is a reasonable time limit. - if (closed_at - created_at) > (MAX_TIME_OPEN - IDLE_TIMEOUT) - self.closed_at = created_at + MAX_TIME_OPEN - else - self.closed_at = Time.now.getutc + IDLE_TIMEOUT - end self.save! tags = self.tags @@ -171,6 +161,20 @@ class Changeset < ActiveRecord::Base end end end + + ## + # set the auto-close time to be one hour in the future unless + # that would make it more than 24h long, in which case clip to + # 24h, as this has been decided is a reasonable time limit. + def before_save + if self.is_open? + if (closed_at - created_at) > (MAX_TIME_OPEN - IDLE_TIMEOUT) + self.closed_at = created_at + MAX_TIME_OPEN + else + self.closed_at = Time.now.getutc + IDLE_TIMEOUT + end + end + end def to_xml doc = OSM::API.new.get_xml_doc