Factor out common code into partials
This commit is contained in:
parent
4b0191befd
commit
560e41ebf9
6 changed files with 54 additions and 93 deletions
22
app/views/map_bugs/_bug.rss.builder
Normal file
22
app/views/map_bugs/_bug.rss.builder
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
xml.item do
|
||||||
|
if bug.status == "closed"
|
||||||
|
xml.title t('bugs.rss.closed', :place => bug.nearby_place)
|
||||||
|
elsif bug.map_bug_comment.length > 1
|
||||||
|
xml.title t('bugs.rss.comment', :place => bug.nearby_place)
|
||||||
|
else
|
||||||
|
xml.title t('bugs.rss.new', :place => bug.nearby_place)
|
||||||
|
end
|
||||||
|
|
||||||
|
xml.link url_for(:controller => "browse", :action => "bug", :id => bug.id, :only_path => false)
|
||||||
|
xml.guid url_for(:controller => "map_bugs", :action => "read", :id => bug.id, :only_path => false)
|
||||||
|
xml.description htmlize(bug.flatten_comment("<br><br>"))
|
||||||
|
|
||||||
|
unless bug.map_bug_comment.empty?
|
||||||
|
xml.author bug.map_bug_comment[-1].commenter_name
|
||||||
|
end
|
||||||
|
|
||||||
|
xml.pubDate bug.last_changed.to_s(:rfc822)
|
||||||
|
xml.geo :lat, bug.lat
|
||||||
|
xml.geo :long, bug.lon
|
||||||
|
xml.georss :point, "#{bug.lat} #{bug.lon}"
|
||||||
|
end
|
27
app/views/map_bugs/_bug.xml.builder
Normal file
27
app/views/map_bugs/_bug.xml.builder
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
xml.bug("lon" => bug.lon, "lat" => bug.lat) do
|
||||||
|
xml.id bug.id
|
||||||
|
xml.date_created bug.date_created
|
||||||
|
xml.nearby bug.nearby_place
|
||||||
|
xml.status bug.status
|
||||||
|
|
||||||
|
if bug.status == "closed"
|
||||||
|
xml.date_closed bug.date_closed
|
||||||
|
end
|
||||||
|
|
||||||
|
xml.comments do
|
||||||
|
bug.map_bug_comment.each do |comment|
|
||||||
|
xml.comment do
|
||||||
|
xml.date comment.date_created
|
||||||
|
|
||||||
|
unless comment.commenter_id.nil?
|
||||||
|
xml.uid comment.commenter_id
|
||||||
|
xml.user comment.user.display_name
|
||||||
|
else
|
||||||
|
xml.user comment.commenter_name
|
||||||
|
end
|
||||||
|
|
||||||
|
xml.text comment.comment
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
|
@ -8,27 +8,6 @@ xml.rss("version" => "2.0",
|
||||||
xml.description t('bugs.rss.description_area', :min_lat => @min_lat, :min_lon => @min_lon, :max_lat => @max_lat, :max_lon => @max_lon )
|
xml.description t('bugs.rss.description_area', :min_lat => @min_lat, :min_lon => @min_lon, :max_lat => @max_lat, :max_lon => @max_lon )
|
||||||
xml.link url_for(:controller => "site", :action => "index", :only_path => false)
|
xml.link url_for(:controller => "site", :action => "index", :only_path => false)
|
||||||
|
|
||||||
for bug in @bugs
|
xml << render(:partial => "bug", :collection => @bugs)
|
||||||
xml.item do
|
|
||||||
if bug.status == "closed"
|
|
||||||
xml.title t('bugs.rss.closed', :place => bug.nearby_place)
|
|
||||||
else if bug.map_bug_comment.length > 1
|
|
||||||
xml.title t('bugs.rss.comment', :place => bug.nearby_place)
|
|
||||||
else
|
|
||||||
xml.title t('bugs.rss.new', :place => bug.nearby_place)
|
|
||||||
end end
|
|
||||||
|
|
||||||
xml.link url_for(:controller => "browse", :action => "bug", :id => bug.id, :only_path => false)
|
|
||||||
xml.guid url_for(:controller => "browse", :action => "bug", :id => bug.id, :only_path => false)
|
|
||||||
xml.description htmlize(bug.flatten_comment("<br><br>"))
|
|
||||||
if (!bug.map_bug_comment.empty?)
|
|
||||||
xml.author bug.map_bug_comment[-1].commenter_name
|
|
||||||
end
|
|
||||||
xml.pubDate bug.last_changed.to_s(:rfc822)
|
|
||||||
xml.geo :lat, bug.lat
|
|
||||||
xml.geo :long, bug.lon
|
|
||||||
xml.georss :point, "#{bug.lat} #{bug.lon}"
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,29 +1,3 @@
|
||||||
xml.instruct!
|
xml.instruct!
|
||||||
|
|
||||||
xml.bugs do
|
xml << render(:partial => "bug", :collection => @bugs)
|
||||||
for bug in @bugs
|
|
||||||
xml.bug("lon" => bug.lon, "lat" => bug.lat) do
|
|
||||||
xml.id bug.id
|
|
||||||
xml.date_created bug.date_created
|
|
||||||
xml.nearby bug.nearby_place
|
|
||||||
xml.status bug.status
|
|
||||||
if bug.status == "closed"
|
|
||||||
xml.date_closed bug.date_closed
|
|
||||||
end
|
|
||||||
xml.comments do
|
|
||||||
for comment in bug.map_bug_comment
|
|
||||||
xml.comment do
|
|
||||||
xml.date comment.date_created
|
|
||||||
if !comment.commenter_id.nil?
|
|
||||||
xml.uid comment.commenter_id
|
|
||||||
xml.user comment.user.display_name
|
|
||||||
else
|
|
||||||
xml.user comment.commenter_name
|
|
||||||
end
|
|
||||||
xml.text comment.comment
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
|
@ -5,28 +5,9 @@ xml.rss("version" => "2.0",
|
||||||
"xmlns:georss" => "http://www.georss.org/georss") do
|
"xmlns:georss" => "http://www.georss.org/georss") do
|
||||||
xml.channel do
|
xml.channel do
|
||||||
xml.title "OpenStreetBugs"
|
xml.title "OpenStreetBugs"
|
||||||
xml.description t('bugs.rss.description_item',:id => @bug.id)
|
xml.description t('bugs.rss.description_item', :id => @bug.id)
|
||||||
xml.link url_for(:controller => "site", :action => "index", :only_path => false)
|
xml.link url_for(:controller => "site", :action => "index", :only_path => false)
|
||||||
|
|
||||||
xml.item do
|
xml << render(:partial => "bug", :object => @bug)
|
||||||
if @bug.status == "closed"
|
|
||||||
xml.title t('bugs.rss.closed', :place => @bug.nearby_place)
|
|
||||||
else if @bug.map_bug_comment.length > 1
|
|
||||||
xml.title t('bugs.rss.comment', :place => @bug.nearby_place)
|
|
||||||
else
|
|
||||||
xml.title t('bugs.rss.new', :place => @bug.nearby_place)
|
|
||||||
end end
|
|
||||||
|
|
||||||
xml.link url_for(:controller => "browse", :action => "bug", :id => @bug.id, :only_path => false)
|
|
||||||
xml.guid url_for(:controller => "map_bugs", :action => "read", :id => @bug.id, :only_path => false)
|
|
||||||
xml.description htmlize(@bug.flatten_comment("<br><br>"))
|
|
||||||
if (!@bug.map_bug_comment.empty?)
|
|
||||||
xml.author @bug.map_bug_comment[-1].commenter_name
|
|
||||||
end
|
|
||||||
xml.pubDate @bug.last_changed.to_s(:rfc822)
|
|
||||||
xml.geo :lat, @bug.lat
|
|
||||||
xml.geo :long, @bug.lon
|
|
||||||
xml.georss :point, "#{@bug.lat} #{@bug.lon}"
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,25 +1,3 @@
|
||||||
xml.instruct!
|
xml.instruct!
|
||||||
|
|
||||||
xml.bug("lon" => @bug.lon, "lat" => @bug.lat) do
|
xml << render(:partial => "bug", :object => @bug)
|
||||||
xml.id @bug.id
|
|
||||||
xml.date_created @bug.date_created
|
|
||||||
xml.nearby @bug.nearby_place
|
|
||||||
xml.status @bug.status
|
|
||||||
if @bug.status == "closed"
|
|
||||||
xml.date_closed @bug.date_closed
|
|
||||||
end
|
|
||||||
xml.comments do
|
|
||||||
for comment in @bug.map_bug_comment
|
|
||||||
xml.comment do
|
|
||||||
xml.date comment.date_created
|
|
||||||
if !comment.commenter_id.nil?
|
|
||||||
xml.uid comment.commenter_id
|
|
||||||
xml.user comment.user.display_name
|
|
||||||
else
|
|
||||||
xml.user comment.commenter_name
|
|
||||||
end
|
|
||||||
xml.text comment.comment
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue