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.gpx {render :template => 'map_bugs/get_bugs.gpx'}
+ 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
render_ok
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'
end
- def gpx_bugs
- request.format = :xml
- get_bugs
- end
-
def read
@bug = MapBug.find(params['id'])
raise OSM::APINotFoundError unless @bug
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
#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|
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.gpx {render :template => 'map_bugs/get_bugs.gpx'}
+ 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
@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,
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
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