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.link url_for(:controller => "site", :action => "index", :only_path => false)
|
||||
|
||||
for bug in @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
|
||||
xml << render(:partial => "bug", :collection => @bugs)
|
||||
end
|
||||
end
|
||||
|
|
|
@ -1,29 +1,3 @@
|
|||
xml.instruct!
|
||||
|
||||
xml.bugs do
|
||||
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
|
||||
xml << render(:partial => "bug", :collection => @bugs)
|
||||
|
|
|
@ -5,28 +5,9 @@ xml.rss("version" => "2.0",
|
|||
"xmlns:georss" => "http://www.georss.org/georss") do
|
||||
xml.channel do
|
||||
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.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 => "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
|
||||
xml << render(:partial => "bug", :object => @bug)
|
||||
end
|
||||
end
|
||||
|
|
|
@ -1,25 +1,3 @@
|
|||
xml.instruct!
|
||||
|
||||
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
|
||||
xml << render(:partial => "bug", :object => @bug)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue