X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/721dd9c27d299455b9159457a095716f797389f1..898beb7b7f693cc21b329dab9a22268e3df77446:/app/controllers/changeset_controller.rb diff --git a/app/controllers/changeset_controller.rb b/app/controllers/changeset_controller.rb index f7f4dc9f0..8f882e80e 100644 --- a/app/controllers/changeset_controller.rb +++ b/app/controllers/changeset_controller.rb @@ -1,9 +1,11 @@ # The ChangesetController is the RESTful interface to Changeset objects class ChangesetController < ApplicationController + layout 'site' require 'xml/libxml' - session :off + session :off, :except => [:list] + before_filter :authorize_web, :only => [:list] before_filter :authorize, :only => [:create, :update, :delete, :upload, :include, :close] before_filter :check_write_availability, :only => [:create, :update, :delete, :upload, :include] before_filter :check_read_availability, :except => [:create, :update, :delete, :upload, :download, :query] @@ -289,6 +291,21 @@ class ChangesetController < ApplicationController render ex.render_opts end + ## + # list edits belonging to a user + def list + user = User.find(:first, :conditions => [ "visible = ? and display_name = ?", true, params[:display_name]]) + @edit_pages, @edits = paginate(:changesets, + :include => [:user, :changeset_tags], + :conditions => ["changesets.user_id = ? AND min_lat IS NOT NULL", user.id], + :order => "changesets.created_at DESC", + :per_page => 20) + + @action = 'list' + @display_name = user.display_name + # FIXME needs rescues in here + end + private #------------------------------------------------------------ # utility functions below. @@ -359,11 +376,11 @@ private times = time.split(/,/) raise OSM::APIBadUserInput.new("bad time range") if times.size != 2 - from, to = times.collect { |t| DateTime.parse(t) } + from, to = times.collect { |t| Time.parse(t) } return ['closed_at >= ? and created_at <= ?', from, to] else # if there is no comma, assume its a lower limit on time - return ['closed_at >= ?', DateTime.parse(time)] + return ['closed_at >= ?', Time.parse(time)] end else return nil @@ -379,7 +396,7 @@ private ## # restrict changes to those which are open def conditions_open(open) - return open.nil? ? nil : ['closed_at >= ?', DateTime.now] + return open.nil? ? nil : ['closed_at >= ?', Time.now] end end