]> git.openstreetmap.org Git - rails.git/blobdiff - app/controllers/changeset_controller.rb
Fix statistics script to work with 0.6 database schema.
[rails.git] / app / controllers / changeset_controller.rb
index 9b09549d0f91def074c5e6bc9065c91cd43072c3..bba012a9c8c871bef56daf89a8d9d57ffef88fc5 100644 (file)
@@ -114,6 +114,8 @@ class ChangesetController < ApplicationController
       render :nothing => true, :status => :method_not_allowed
     end
 
       render :nothing => true, :status => :method_not_allowed
     end
 
+  rescue LibXML::XML::Error, ArgumentError => ex
+    raise OSM::APIBadXMLError.new("osm", xml, ex.message)
   rescue ActiveRecord::RecordNotFound
     render :nothing => true, :status => :not_found
   rescue OSM::APIError => ex
   rescue ActiveRecord::RecordNotFound
     render :nothing => true, :status => :not_found
   rescue OSM::APIError => ex
@@ -349,9 +351,10 @@ class ChangesetController < ApplicationController
     if params['bbox']
        bbox = params['bbox']
     elsif params['minlon'] and params['minlat'] and params['maxlon'] and params['maxlat']
     if params['bbox']
        bbox = params['bbox']
     elsif params['minlon'] and params['minlat'] and params['maxlon'] and params['maxlat']
-       bbox = params['minlon'] + ',' + params['minlat'] + ',' + params['maxlon'] + ',' + params['maxlat']
+       bbox = h(params['minlon']) + ',' + h(params['minlat']) + ',' + h(params['maxlon']) + ',' + h(params['maxlat'])
     else
     else
-      redirect_to :action => 'list'
+      #TODO: fix bugs in location determination for history tab (and other tabs) then uncomment this redirect
+      #redirect_to :action => 'list'
     end
        
     conditions = conditions_bbox(bbox);
     end
        
     conditions = conditions_bbox(bbox);
@@ -460,7 +463,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 <= ?', 
   # 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
   
   ##
   end
   
   ##
@@ -468,7 +471,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 > ?', 
   # ('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
 
   ##
   end
 
   ##