X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/6aec21b5b86a9bfa1a9d60a1491bda6c597467b0..d2cf09f389b2b92aa2bc55f375573173a2bcf1a4:/app/controllers/map_bugs_controller.rb diff --git a/app/controllers/map_bugs_controller.rb b/app/controllers/map_bugs_controller.rb index 158bf435a..f4105929f 100644 --- a/app/controllers/map_bugs_controller.rb +++ b/app/controllers/map_bugs_controller.rb @@ -37,16 +37,16 @@ class MapBugsController < ApplicationController limit = getLimit conditions = closedCondition - check_boundaries(@min_lon, @min_lat, @max_lon, @max_lat, :false) + check_boundaries(@min_lon, @min_lat, @max_lon, @max_lat, MAX_BUG_REQUEST_AREA) - @bugs = MapBug.find_by_area_no_quadtile(@min_lat, @min_lon, @max_lat, @max_lon, :include => :map_bug_comment, :order => "last_changed DESC", :limit => limit, :conditions => conditions) + @bugs = MapBug.find_by_area(@min_lat, @min_lon, @max_lat, @max_lon, :include => :comments, :order => "last_changed DESC", :limit => limit, :conditions => conditions) respond_to do |format| format.html {render :template => 'map_bugs/get_bugs.js', :content_type => "text/javascript"} format.rss {render :template => 'map_bugs/get_bugs.rss'} format.js format.xml {render :template => 'map_bugs/get_bugs.xml'} - format.json { render :json => @bugs.to_json(:methods => [:lat, :lon], :only => [:id, :status, :date_created], :include => { :map_bug_comment => { :only => [:commenter_name, :date_created, :comment]}}) } + format.json { render :json => @bugs.to_json(:methods => [:lat, :lon], :only => [:id, :status, :date_created], :include => { :comments => { :only => [:commenter_name, :date_created, :comment]}}) } format.gpx {render :template => 'map_bugs/get_bugs.gpx'} end end @@ -128,24 +128,20 @@ class MapBugsController < ApplicationController end def rss + limit = getLimit + conditions = closedCondition + # Figure out the bbox bbox = params['bbox'] if bbox and bbox.count(',') == 3 bbox = bbox.split(',') @min_lon, @min_lat, @max_lon, @max_lat = sanitise_boundaries(bbox) - else - @min_lon = -180.0 - @min_lat = -90.0 - @max_lon = 180.0 - @max_lat = 90.0 - end - limit = getLimit - conditions = closedCondition - conditions = cond_merge conditions, [OSM.sql_for_area_no_quadtile(@min_lat, @min_lon, @max_lat, @max_lon)] - - check_boundaries(@min_lon, @min_lat, @max_lon, @max_lat, :false) + check_boundaries(@min_lon, @min_lat, @max_lon, @max_lat, MAX_BUG_REQUEST_AREA) + + conditions = cond_merge conditions, [OSM.sql_for_area(@min_lat, @min_lon, @max_lat, @max_lon)] + end @comments = MapBugComment.find(:all, :limit => limit, :order => "date_created DESC", :joins => :map_bug, :include => :map_bug, :conditions => conditions) render :template => 'map_bugs/rss.rss' @@ -159,7 +155,7 @@ class MapBugsController < ApplicationController respond_to do |format| format.rss format.xml - format.json { render :json => @bug.to_json(:methods => [:lat, :lon], :only => [:id, :status, :date_created], :include => { :map_bug_comment => { :only => [:commenter_name, :date_created, :comment]}}) } + format.json { render :json => @bug.to_json(:methods => [:lat, :lon], :only => [:id, :status, :date_created], :include => { :comments => { :only => [:commenter_name, :date_created, :comment]}}) } format.gpx end end @@ -186,7 +182,7 @@ class MapBugsController < ApplicationController #TODO: There should be a better way to do this. CloseConditions are ignored at the moment - bugs2 = MapBug.find(:all, :limit => limit, :order => "last_changed DESC", :joins => :map_bug_comment, :include => :map_bug_comment, + bugs2 = MapBug.find(:all, :limit => limit, :order => "last_changed DESC", :joins => :comments, :include => :comments, :conditions => conditions) @bugs = bugs2.uniq respond_to do |format| @@ -194,7 +190,7 @@ class MapBugsController < ApplicationController format.rss {render :template => 'map_bugs/get_bugs.rss'} format.js format.xml {render :template => 'map_bugs/get_bugs.xml'} - format.json { render :json => @bugs.to_json(:methods => [:lat, :lon], :only => [:id, :status, :date_created], :include => { :map_bug_comment => { :only => [:commenter_name, :date_created, :comment]}}) } + format.json { render :json => @bugs.to_json(:methods => [:lat, :lon], :only => [:id, :status, :date_created], :include => { :comments => { :only => [:commenter_name, :date_created, :comment]}}) } format.gpx {render :template => 'map_bugs/get_bugs.gpx'} end end @@ -229,8 +225,8 @@ class MapBugsController < ApplicationController @page_size = 10 @bugs = MapBug.find(:all, - :include => [:map_bug_comment, {:map_bug_comment => :user}], - :joins => :map_bug_comment, + :include => [:comments, {:comments => :user}], + :joins => :comments, :order => "last_changed DESC", :conditions => conditions, :offset => (@page - 1) * @page_size, @@ -292,7 +288,7 @@ private def add_comment(bug, comment, name,event) t = Time.now.getutc - bug_comment = bug.map_bug_comment.create(:date_created => t, :visible => true, :event => event) + bug_comment = bug.comments.create(:date_created => t, :visible => true, :event => event) bug_comment.comment = comment unless comment == :nil if @user bug_comment.commenter_id = @user.id @@ -306,7 +302,7 @@ private bug.save sent_to = Set.new - bug.map_bug_comment.each do | cmt | + bug.comments.each do | cmt | if cmt.user unless sent_to.include?(cmt.user) Notifier.deliver_bug_comment_notification(bug_comment, cmt.user) unless cmt.user == @user