]> git.openstreetmap.org Git - rails.git/blobdiff - app/controllers/changeset_controller.rb
DateTime => Time for consistency in changeset code, ok by shaun.
[rails.git] / app / controllers / changeset_controller.rb
index f7f4dc9f0ac2ef46fa2094dda96dd322d60185da..8f882e80e1849d81f868f29dae7c893987b5fa7a 100644 (file)
@@ -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