Fixup some of the rss output and geocode bugs using nominatim
authorKai Krueger <kakrueger@gmail.com>
Sun, 14 Mar 2010 10:47:16 +0000 (10:47 +0000)
committerKai Krueger <kakrueger@gmail.com>
Sun, 14 Mar 2010 10:47:16 +0000 (10:47 +0000)
app/controllers/map_bugs_controller.rb
app/views/map_bugs/get_bugs.rss.builder
config/locales/en.yml

index 41b07eb96c4a8321e0638578e70ff1d5e4ca1798..76f99123eab43485e65536456eda1a1e805a1526 100644 (file)
@@ -69,6 +69,18 @@ class MapBugsController < ApplicationController
        name = params['name'] if params['name'];
 
     @bug = MapBug.create_bug(lat, lon)
+
+
+       #TODO: move this into a helper function
+       url = "http://nominatim.openstreetmap.org/reverse?lat=" + lat.to_s + "&lon=" + lon.to_s + "&zoom=16" 
+    response = REXML::Document.new(Net::HTTP.get(URI.parse(url))) 
+    if result = response.get_text("reversegeocode/result") 
+      @bug.nearby_place = result.to_s 
+    else 
+      @bug.nearby_place = "unknown"
+    end        
+       
        @bug.save;
        add_comment(@bug, comment, name);
  
index 49008ce952e7ae90b44ac691f4829235f29f7fee..580cf93fe48af4cced80992dea9476896143543e 100644 (file)
@@ -5,21 +5,22 @@ xml.rss("version" => "2.0",
         "xmlns:georss" => "http://www.georss.org/georss") do
   xml.channel do
     xml.title "OpenStreetBugs"
-    xml.description "A list of bugs, reported, commented on or closed in your area"
+    xml.description t('bugs.rss.description')
     xml.link url_for(:controller => "site", :action => "index", :only_path => false)
 
        for bug in @bugs
       xml.item do
                if bug.status == "closed"
-                       xml.title "Closed bug"  
+                       xml.title t('bugs.rss.closed', :place => bug.nearby_place)      
                else if bug.map_bug_comment.length > 1
-                       xml.title "Commented on bug"
+                       xml.title t('bugs.rss.comment', :place => bug.nearby_place)
                else
-                       xml.title "Created bug"
+                       xml.title t('bugs.rss.new', :place => bug.nearby_place)
                end     end
         
-        xml.link url_for(:controller => "site", :action => "index", :only_path => false)
-        xml.description  bug.flatten_comment("|")
+        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
index 7df9bd3734da0ab115d8af4986fdade4b2da1b0e..d0e8f8e44a92966e50b26cf2851f1a1baa2f750f 100644 (file)
@@ -1619,6 +1619,12 @@ en:
       back: "View all blocks"
       revoker: "Revoker:"
       needs_view: "The user needs to log in before this block will be cleared."
+  bugs:
+    rss:
+      description: "A list of bugs, reported, commented on or closed in your area"
+      closed: "closed bug (near {{place}})"
+      new: "new bug (near {{place}})"
+      comment: "new comment (near {{place}})"
   javascripts:
     map:
       base: