X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/d581f1766532e9b92565e7af4ed086fdda8d780a..2c52c91b393f087df60c3f6765905cbc8248e3e7:/app/controllers/changeset_controller.rb diff --git a/app/controllers/changeset_controller.rb b/app/controllers/changeset_controller.rb index fbd4417d0..8fbbe1362 100644 --- a/app/controllers/changeset_controller.rb +++ b/app/controllers/changeset_controller.rb @@ -216,6 +216,12 @@ class ChangesetController < ApplicationController changesets = conditions_closed(changesets, params["closed"]) changesets = conditions_ids(changesets, params["changesets"]) + # sort and limit the changesets + changesets = changesets.order("created_at DESC").limit(100) + + # preload users, tags and comments + changesets = changesets.preload(:user, :changeset_tags, :comments) + # create the results document results = OSM::API.new.get_xml_doc @@ -516,13 +522,13 @@ class ChangesetController < ApplicationController times = time.split(/,/) raise OSM::APIBadUserInput, "bad time range" if times.size != 2 - from, to = times.collect { |t| DateTime.parse(t) } + from, to = times.collect { |t| Time.parse(t) } return changesets.where("closed_at >= ? and created_at <= ?", from, to) else # if there is no comma, assume its a lower limit on time - return changesets.where("closed_at >= ?", DateTime.parse(time)) + return changesets.where("closed_at >= ?", Time.parse(time)) end - # stupid DateTime seems to throw both of these for bad parsing, so + # stupid Time seems to throw both of these for bad parsing, so # we have to catch both and ensure the correct code path is taken. rescue ArgumentError => ex raise OSM::APIBadUserInput, ex.message.to_s