Merge 16012:16110 from trunk.
authorTom Hughes <tom@compton.nu>
Thu, 25 Jun 2009 16:32:05 +0000 (16:32 +0000)
committerTom Hughes <tom@compton.nu>
Thu, 25 Jun 2009 16:32:05 +0000 (16:32 +0000)
17 files changed:
app/controllers/browse_controller.rb
app/controllers/changeset_controller.rb
app/views/browse/_navigation.html.erb
app/views/changeset/_changeset.html.erb
app/views/changeset/_changeset_paging_nav.html.erb
app/views/changeset/list.html.erb
app/views/changeset/list.rss.builder [new file with mode: 0644]
app/views/changeset/list_bbox.html.erb [deleted file]
app/views/changeset/list_user.html.erb [deleted file]
app/views/layouts/site.html.erb
app/views/layouts/site.rss.builder [new file with mode: 0644]
app/views/user/view.html.erb
config/locales/en.yml
config/locales/is.yml
config/routes.rb
lib/bounding_box.rb
test/functional/changeset_controller_test.rb

index 8124d4a339ec2d509ff29e2fdffc9fa2cf7039f0..91d8eb84fa4b5e42ea49d45cb118a6565d9e5e10 100644 (file)
@@ -69,7 +69,10 @@ class BrowseController < ApplicationController
       
     @title = "#{I18n.t('browse.changeset.title')} | #{@changeset.id}"
     @next = Changeset.find(:first, :order => "id ASC", :conditions => [ "id > :id", { :id => @changeset.id }] ) 
-    @prev = Changeset.find(:first, :order => "id DESC", :conditions => [ "id < :id", { :id => @changeset.id }] ) 
+    @prev = Changeset.find(:first, :order => "id DESC", :conditions => [ "id < :id", { :id => @changeset.id }] )
+
+    @next_by_user = Changeset.find(:first, :order => "id ASC", :conditions => [ "id > :id AND user_id = :user_id", {:id => @changeset.id, :user_id => @changeset.user_id }] )
+    @prev_by_user = Changeset.find(:first, :order => "id DESC", :conditions => [ "id < :id AND user_id = :user_id", {:id => @changeset.id, :user_id => @changeset.user_id }] )
   rescue ActiveRecord::RecordNotFound
     @type = "changeset"
     render :action => "not_found", :status => :not_found
index ca42751d37ac670c4504d5a492e9012af6826f00..d7f3d39c833aba270e7b13c18db3edc9d9c1452f 100644 (file)
@@ -255,79 +255,54 @@ class ChangesetController < ApplicationController
   # list edits (open changesets) in reverse chronological order
   def list
     conditions = conditions_nonempty
-    
-    
-   # @changesets = Changeset.find(:all, :order => "closed_at DESC", :conditions => ['closed_at < ?', DateTime.now], :limit=> 20)
-   
-   
-   #@edit_pages, @edits = paginate(:changesets,
-   #                                :include => [:user, :changeset_tags],
-   #                                :conditions => conditions,
-   #                                :order => "changesets.created_at DESC",
-   #                                :per_page => 20)
-   #
-    
-   @edits =  Changeset.find(:all,
-                                   :order => "changesets.created_at DESC",
-                                   :conditions => conditions,
-                                   :limit => 20)
-    
-  end
-  
-  ##
-  # list edits (changesets) belonging to a user
-  def list_user
-    user = User.find_by_display_name(params[:display_name], :conditions => {:visible => true})
-    
-    if user
-      @display_name = user.display_name
-      if not user.data_public? and @user != user
-        @edits = nil
-        render
-      else
-        conditions = cond_merge conditions, ['user_id = ?', user.id]
-        conditions = cond_merge conditions, conditions_nonempty
-        @edit_pages, @edits = paginate(:changesets,
-                                        :include => [:user, :changeset_tags],
-                                        :conditions => conditions,
-                                        :order => "changesets.created_at DESC",
-                                        :per_page => 20)
+
+    if params[:display_name]
+      user = User.find_by_display_name(params[:display_name], :conditions => { :visible => true })
+
+      if user 
+        if user.data_public? or user == @user
+          conditions = cond_merge conditions, ['user_id = ?', user.id]
+        else
+          conditions = cond_merge conditions, ['false']
+        end
+      elsif request.format == :html
+        @title = t 'user.no_such_user.title'
+        @not_found_user = params[:display_name]
+        render :template => 'user/no_such_user', :status => :not_found
       end
-    else
-      @not_found_user = params[:display_name]
-      render :template => 'user/no_such_user', :status => :not_found
     end
-  end
-  
-  ##
-  # list changesets in a bbox
-  def list_bbox
-    # support 'bbox' param or alternatively 'minlon', 'minlat' etc       
-    if params['bbox']
-       bbox = params['bbox']
-    elsif params['minlon'] and params['minlat'] and params['maxlon'] and params['maxlat']
-       bbox = h(params['minlon']) + ',' + h(params['minlat']) + ',' + h(params['maxlon']) + ',' + h(params['maxlat'])
+
+    if params[:bbox]
+      bbox = params[:bbox]
+    elsif params[:minlon] and params[:minlat] and params[:maxlon] and params[:maxlat]
+      bbox = params[:minlon] + ',' + params[:minlat] + ',' + params[:maxlon] + ',' + params[:maxlat]
+    end
+
+    if bbox
+      conditions = cond_merge conditions, conditions_bbox(bbox)
+      bbox = BoundingBox.from_s(bbox)
+      bbox_link = "<a href='#{url_for(:controller => "site", :action => "index", :minlon => bbox.min_lon, :minlat => bbox.min_lat, :maxlon => bbox.max_lon, :maxlat => bbox.max_lat, :box => "yes")}'>#{bbox.to_s}</a>"
+    end
+
+    @title =  t 'changeset.list.title'
+
+    if user and bbox
+      @description = t 'changeset.list.description_user_bbox', :user => user.display_name, :bbox => bbox_link
+    elsif user
+      @description = t 'changeset.list.description_user', :user => user.display_name
+    elsif bbox
+      @description = t 'changeset.list.description_bbox', :bbox => bbox_link
     else
-      #TODO: fix bugs in location determination for history tab (and other tabs) then uncomment this redirect
-      #redirect_to :action => 'list'
-      
-      # For now just render immediately, and skip the db
-      render
-      return
+      @description = t 'changeset.list.description'
     end
-       
-    conditions = conditions_bbox(bbox);
-    conditions = cond_merge conditions, conditions_nonempty
-    
+
     @edit_pages, @edits = paginate(:changesets,
                                    :include => [:user, :changeset_tags],
                                    :conditions => conditions,
                                    :order => "changesets.created_at DESC",
                                    :per_page => 20)
-                                   
-    @bbox = sanitise_boundaries(bbox.split(/,/)) unless bbox==nil
   end
-  
+
 private
   #------------------------------------------------------------
   # utility functions below.
index 57e724d4258a7a907f03475ac01f7fa6c02d971a..b125ac75fceb92a6e2414ed832cb155c66147a83 100644 (file)
@@ -1,13 +1,36 @@
 <div style="float:right; text-align:center; width: 250px;">
+  <% if @next_by_user or @prev_by_user %>
+    <% if @prev_by_user %>
+       <%= link_to t('browse.changeset_navigation.user.prev', :id => @prev_by_user.id.to_s),
+           { :id => @prev_by_user.id },
+           { :title => t('browse.changeset_navigation.user.prev_tooltip', :user => @prev_by_user.user.display_name) } %>
+    |
+    <% end %>
+    <%=
+    user = (@prev_by_user || @next_by_user).user.display_name
+    link_to(t('browse.changeset_navigation.user.name', :user => h(user)),
+            { :controller => "changeset", :action => "list", :display_name => user },
+            { :title => t('browse.changeset_navigation.user.name_tooltip', :user => h(user)) })
+    %>
+    <% if @next_by_user %>
+    |
+      <%= link_to t('browse.changeset_navigation.user.next', :id => @next_by_user.id.to_s),
+         { :id => @next_by_user.id },
+         { :title => t('browse.changeset_navigation.user.next_tooltip', :user => @next_by_user.user.display_name) } %>
+    <% end %>
+    <br/>
+  <% end %>
   <% if @prev %>
-    &lt;
-    <%= link_to @prev.id.to_s, :id => @prev.id %>
+    <%= link_to t('browse.changeset_navigation.all.prev', :id => @prev.id.to_s),
+                { :id => @prev.id },
+                { :title => t('browse.changeset_navigation.all.prev_tooltip') } %>
   <% end %>
   <% if @prev and @next %>
     | 
   <% end %>
   <% if @next %>
-    <%= link_to @next.id.to_s, :id => @next.id %>
-    &gt;
+    <%= link_to t('browse.changeset_navigation.all.next', :id => @next.id.to_s),
+                { :id => @next.id },
+                { :title => t('browse.changeset_navigation.all.next_tooltip') } %>
   <% end %>
 </div>
index 8ac433415a3a843272ff4669fcc1c7241f8be80f..f8f00addb35cdffd43c020f47506dca3d23f4c1f 100644 (file)
@@ -14,7 +14,7 @@
   <%if showusername %>  
     <td class="<%= cl %> user">
     <% if changeset.user.data_public? %>
-      <%= link_to h(changeset.user.display_name), :controller => "changeset", :action => "list_user", :display_name => changeset.user.display_name %>
+      <%= link_to h(changeset.user.display_name), :controller => "changeset", :action => "list", :display_name => changeset.user.display_name %>
     <% else %>
       <i><%= t'changeset.changeset.anonymous' %></i>
     <% end %>
@@ -25,7 +25,7 @@
     <% if changeset.tags['comment'] %>
       <%= h(changeset.tags['comment']) %>
     <% else %>
-      <i><%= t'changeset.changeset.no_comment' %></i>
+      <%= t'changeset.changeset.no_comment' %>
     <% end %>
   </td>
 
index b8ac1a65fca39f394c5aaf7762ed9e3013535437..94edfc31ed1f673aceba4fe62a5c50431fb8b449 100644 (file)
@@ -1,3 +1,4 @@
+<p>
 <% current_page = @edit_pages.current_page %>
 
 <%= t'changeset.changeset_paging_nav.showing_page' %> 
@@ -16,3 +17,4 @@ if @edit_pages.page_count > 1
 <%
 end
 %>
+</p>
index cfe4afd3faa5d0d9de765505f5a797220a3202ec..d2112ac7300c2c8cde0118581551b84bd938a360 100644 (file)
@@ -1,7 +1,12 @@
-<h1><%= t'changeset.list.recent_changes' %></h1>
-<p><%= t'changeset.list.recently_edited_changesets' %></p>
+<h1><%= @title %></h1>
+<p><%= @description %></p>
 
-<%= render :partial => 'changesets' %>
+<%= render :partial => 'changeset_paging_nav' %>
+<%= render :partial => 'changesets', :locals => { :showusername => !params.has_key?(:display_name) } %>
+<%= render :partial => 'changeset_paging_nav' %>
 
-<p><%= t'changeset.list.for_more_changesets' %></p>
-<br>
+<%= rss_link_to params.merge({ :format => :rss }) %>
+
+<% content_for :head do %>
+<%= auto_discovery_link_tag :atom, params.merge({ :format => :rss }) %>
+<% end %>
diff --git a/app/views/changeset/list.rss.builder b/app/views/changeset/list.rss.builder
new file mode 100644 (file)
index 0000000..0251367
--- /dev/null
@@ -0,0 +1,47 @@
+xml.rss("version" => "2.0", 
+        "xmlns:geo" => "http://www.w3.org/2003/01/geo/wgs84_pos#",
+        "xmlns:georss" => "http://www.georss.org/georss") do
+  xml.channel do
+    xml.title @title
+    xml.description @description
+    xml.link url_for(params.merge({ :only_path => false }))
+    xml.image do
+      xml.url "http://www.openstreetmap.org/images/mag_map-rss2.0.png"
+      xml.title "OpenStreetMap"
+      xml.width "100"
+      xml.height "100"
+      xml.link url_for(params.merge({ :only_path => false }))
+    end
+
+    for changeset in @edits
+      xml.item do
+        xml.title t('browse.changeset.title') + " " + h(changeset.id)
+        xml.link url_for(:controller => 'browse', :action => "changeset", :id => changeset.id, :only_path => false)
+        xml.guid url_for(:controller => 'browse', :action => "changeset", :id => changeset.id, :only_path => false)
+        if changeset.user.data_public?
+          xml.author changeset.user.display_name
+        end
+        if changeset.tags['comment']
+          xml.description changeset.tags['comment']
+        end
+        xml.pubDate changeset.created_at.to_s(:rfc822)
+        if changeset.user.data_public?
+          xml.comments url_for(:controller => "message", :action => "new", :id => changeset.user.id, :only_path => false)
+        end
+
+        unless changeset.min_lat.nil?
+          minlon = changeset.min_lon/GeoRecord::SCALE.to_f
+          minlat = changeset.min_lat/GeoRecord::SCALE.to_f
+          maxlon = changeset.max_lon/GeoRecord::SCALE.to_f
+          maxlat = changeset.max_lat/GeoRecord::SCALE.to_f
+
+          # See http://georss.org/Encodings#Geometry
+          lower_corner = "#{minlat} #{minlon}"
+          upper_corner = "#{maxlat} #{maxlon}"
+
+          xml.georss :box, lower_corner + " " + upper_corner
+        end
+      end
+    end
+  end
+end
diff --git a/app/views/changeset/list_bbox.html.erb b/app/views/changeset/list_bbox.html.erb
deleted file mode 100644 (file)
index 87c6179..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-<h1><%= t'changeset.list_bbox.history' %></h1>
-<%
-if @bbox!=nil
-       minlon = @bbox[0] 
-       minlat = @bbox[1] 
-       maxlon = @bbox[2]
-       maxlat = @bbox[3] 
-
-       %>
-<p>
-<%= t'changeset.list_bbox.changesets_within_the_area' %> 
-      (<a href='/?minlon=<%= minlon %>&minlat=<%= minlat %>&maxlon=<%= maxlon %>&maxlat=<%= maxlat %>&box=yes' title='<%= t'changeset.list_bbox.show_area_box' %>'><%= format("%0.3f",minlon) -%>,<%= format("%0.3f",minlat) -%>,<%= format("%0.3f",maxlon) -%>,<%= format("%0.3f",maxlat) -%></a>) 
-
-</p>
-
-<%     if @edits.nil? or @edits.empty? %>
-<p><b><%= t'changeset.list_bbox.no_changesets' %></b></p>
-<%     else %>
-
-<%= render :partial => 'changeset_paging_nav' %>
-<%= render :partial => 'changesets' %>
-<%= render :partial => 'changeset_paging_nav' %>
-
-<p><%= t'changeset.list_bbox.all_changes_everywhere' , :recent_changes_link => link_to(t('changeset.list_bbox.recent_changes'), :controller => "browse", :action => "changesets") %> </p>
-
-<%
-       end
-
-else 
-       #bbox is nil. happens if the user surfs to this page directly.
-%>
-
-<p><%= t'changeset.list_bbox.no_area_specified' %></p>
-<p><%= t'changeset.list_bbox.first_use_view', :view_tab_link => '<a href="/" title="' + t('changeset.list_bbox.view_the_map') + '">' + t('changeset.list_bbox.view_tab') + '</a>' %></p>
-<p><%= t'changeset.list_bbox.alternatively_view', :recent_changes_link => link_to(t('changeset.list_bbox.recent_changes'), :controller => "browse", :action => "changesets") %></p>
-
-<%
-end
-%>
-<br>
-
diff --git a/app/views/changeset/list_user.html.erb b/app/views/changeset/list_user.html.erb
deleted file mode 100644 (file)
index 7240e60..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<h1><%= t'changeset.list_user.edits_by_username', :username_link => link_to(h(@display_name), {:controller=>'user', :action=>'view', :display_name=>@display_name}) %></h1>
-
-<% if not @edits or @edits.empty? %>
-<p><b><%= t'changeset.list_user.no_visible_edits_by', :name => h(@display_name) %>.</b></p>
-<% else %>
-<%= render :partial => 'changeset_paging_nav' %>
-<%= render :partial => 'changesets', :locals => {:showusername => false} %>
-<%= render :partial => 'changeset_paging_nav' %>
-<% end %>
-
-<p><%= t'changeset.list_user.for_all_changes', :recent_changes_link => link_to(t('changeset.list_user.recent_changes'), :controller => "browse", :action => "changesets") %></p>
-<br>
-
index 612c419c68366210844aa5cc2c0f882075c6ba44..241bf1817eba764da60c046460a08f938675aeb6 100644 (file)
         traceclass = ''
         viewclass = 'active' if params['controller'] == 'site' and params['action'] == 'index' 
         editclass = 'active' if params['controller'] == 'site' and params['action'] == 'edit' 
-        historyclass = 'active' if params['controller'] == 'changeset' and params['action'] == 'list_bbox
+        historyclass = 'active' if params['controller'] == 'changeset' and params['action'] == 'list' 
         exportclass = 'active' if params['controller'] == 'site' and params['action'] == 'export'
         traceclass = 'active' if params['controller'] == 'trace'
         diaryclass = 'active' if params['controller'] == 'diary_entry'
         %>
         <li><%= link_to t('layouts.view'), {:controller => 'site', :action => 'index'}, {:id => 'viewanchor', :title => t('layouts.view_tooltip'), :class => viewclass} %></li>
         <li><%= link_to t('layouts.edit'), {:controller => 'site', :action => 'edit'}, {:id => 'editanchor', :title => t('layouts.edit_tooltip'), :class => editclass} %></li>
-        <li><%= link_to t('layouts.history'), {:controller => 'changeset', :action => 'list_bbox' }, {:id => 'historyanchor', :title => t('layouts.history_tooltip'), :class => historyclass} %></li>
+        <li><%= link_to t('layouts.history'), {:controller => 'changeset', :action => 'list' }, {:id => 'historyanchor', :title => t('layouts.history_tooltip'), :class => historyclass} %></li>
         <% if params['controller'] == 'site' and (params['action'] == 'index' or params['action'] == 'export') %>
         <li><%= link_to_remote t('layouts.export'), {:url => {:controller => 'export', :action => 'start'}}, {:id => 'exportanchor', :title => t('layouts.export_tooltip'), :class => exportclass, :href => url_for(:controller => 'site', :action => 'export')} %></li>
         <% else %>
diff --git a/app/views/layouts/site.rss.builder b/app/views/layouts/site.rss.builder
new file mode 100644 (file)
index 0000000..90198e8
--- /dev/null
@@ -0,0 +1,2 @@
+xml.instruct!
+xml << yield
index 5fdea140ff614bec8fe5a7088a5530a4bd4af8d6..0dbc09dd3484f0f9580f39f1e9a0ce476dcfaf33 100644 (file)
@@ -4,14 +4,14 @@
 <!-- Displaying user's own profile page -->
 <%= link_to t('user.view.my diary'), :controller => 'diary_entry', :action => 'list', :display_name => @user.display_name %>
 | <%= link_to t('user.view.new diary entry'), :controller => 'diary_entry', :action => 'new', :display_name => @user.display_name %>
-| <%= link_to t('user.view.my edits'), :controller => 'changeset', :action => 'list_user', :display_name => @user.display_name %>
+| <%= link_to t('user.view.my edits'), :controller => 'changeset', :action => 'list', :display_name => @user.display_name %>
 | <%= link_to t('user.view.my traces'), :controller => 'trace', :action=>'mine' %>
 | <%= link_to t('user.view.my settings'), :controller => 'user', :action => 'account', :display_name => @user.display_name %>
 <% else %>
 <!-- Displaying another user's profile page -->
 <%= link_to t('user.view.send message'), :controller => 'message', :action => 'new', :display_name => @this_user.display_name %>
 | <%= link_to t('user.view.diary'), :controller => 'diary_entry', :action => 'list', :display_name => @this_user.display_name %>
-| <%= link_to t('user.view.edits'), :controller => 'changeset', :action => 'list_user', :display_name => @this_user.display_name %>
+| <%= link_to t('user.view.edits'), :controller => 'changeset', :action => 'list', :display_name => @this_user.display_name %>
 | <%= link_to t('user.view.traces'), :controller => 'trace', :action => 'view', :display_name => @this_user.display_name %>
 | <% if @user and @user.is_friends_with?(@this_user) %>
   <%= link_to t('user.view.remove as friend'), :controller => 'user', :action => 'remove_friend', :display_name => @this_user.display_name %>
index ad24fa16c88af381a7327347f16487a566fc10f3..a7d1b222cb8abfec807315134ed288380ddb3e45 100644 (file)
@@ -83,6 +83,19 @@ en:
       download: "Download {{changeset_xml_link}} or {{osmchange_xml_link}}"
       changesetxml: "Changeset XML"
       osmchangexml: "osmChange XML"
+    changeset_navigation:
+      user:
+        name: "{{user}}"
+        name_tooltip: "View edits by {{user}}"
+        prev: "← {{id}}"
+        prev_tooltip: "Previous edit by {{user}}"
+        next: "{{id}} →"
+        next_tooltip: "Next edit by {{user}}"
+      all:
+        prev: "← {{id}}"
+        next: "{{id}} →"
+        prev_tooltip: "Previous changeset"
+        next_tooltip: "Next changeset"
     changeset_details:
       created_at: "Created at:"
       closed_at: "Closed at:"
@@ -222,27 +235,12 @@ en:
       user: "User"
       comment: "Comment"
       area: "Area"
-    list_bbox:
-      history: "History"
-      changesets_within_the_area: "Changesets within the area:"
-      show_area_box: "show area box"
-      no_changesets: "No changesets"
-      all_changes_everywhere: "For all changes everywhere see {{recent_changes_link}}"
-      recent_changes: "Recent Changes"
-      no_area_specified: "No area specified"
-      first_use_view: "First use the {{view_tab_link}} to pan and zoom to an area of interest, then click the history tab."
-      view_the_map: "view the map"
-      view_tab: "view tab"
-      alternatively_view: "Alternatively, view all {{recent_changes_link}}"
     list:
-      recent_changes: "Recent Changes"
-      recently_edited_changesets: "Recently edited changesets:"
-      for_more_changesets: "For more changesets, select a user and view their edits, or see the editing 'history' of a specific area."
-    list_user:
-      edits_by_username: "Edits by {{username_link}}"
-      no_visible_edits_by: "No visible edits by {{name}}."
-      for_all_changes: "For changes by all users see {{recent_changes_link}}"
-      recent_changes: "Recent Changes"
+      title: "Changesets"
+      description: "Recent edits"
+      description_user: "Recent edits by {{user}}"
+      description_bbox: "Recent edits within {{bbox}}"
+      description_user_bbox: "Recent edits by {{user}} within {{bbox}}"
   diary_entry:
     new:
       title: New Diary Entry
index 4b2ad291a59980963b287612b96c199c7bdd5ac8..5de75c96ce4b0cb61ede6969eeea0262220c1d16 100644 (file)
@@ -83,6 +83,19 @@ is:
       download: "Niðurhala breytingunni á {{changeset_xml_link}} sniði eða á {{osmchange_xml_link}} sniði"
       changesetxml: "Breytingarsetts XML"
       osmchangexml: "osmChange XML"
+    changeset_navigation:
+      user:
+        name: "{{user}}"
+        name_tooltip: "Skoða breytingarsett eftir {{user}}"
+        prev: "← {{id}}"
+        prev_tooltip: "Fyrri breytingarsett eftir {{user}}"
+        next: "{{id}} →"
+        next_tooltip: "Næsta breytingarsett eftir {{user}}"
+      all:
+        prev: "← {{id}}"
+        next: "{{id}} →"
+        prev_tooltip: "Fyrra breytingarsett"
+        next_tooltip: "Næsta breytingarsett"
     changeset_details:
       created_at: "Búið til:"
       closed_at: "Lokað:"
index b410c2b90fd34701a8dc3ec3e13d51a0674acb82..a998df16ea47e5bc6ce8f1fd54e3baee9c9b4c5a 100644 (file)
@@ -83,12 +83,14 @@ ActionController::Routing::Routes.draw do |map|
   map.connect '/browse/relation/:id/history', :controller => 'browse', :action => 'relation_history', :id => /\d+/
   map.connect '/browse/changeset/:id', :controller => 'browse', :action => 'changeset', :id => /\d+/
   map.connect '/browse/changesets', :controller => 'changeset', :action => 'list'
+  map.connect '/browse/changesets/rss', :controller => 'changeset', :action => 'list', :format => :rss
   
   # web site
   map.root :controller => 'site', :action => 'index'
   map.connect '/', :controller => 'site', :action => 'index'
   map.connect '/edit', :controller => 'site', :action => 'edit'
-  map.connect '/history', :controller => 'changeset', :action => 'list_bbox'
+  map.connect '/history', :controller => 'changeset', :action => 'list'
+  map.connect '/history/rss', :controller => 'changeset', :action => 'list', :format => :rss
   map.connect '/export', :controller => 'site', :action => 'export'
   map.connect '/login', :controller => 'user', :action => 'login'
   map.connect '/logout', :controller => 'user', :action => 'logout'
@@ -143,7 +145,8 @@ ActionController::Routing::Routes.draw do |map|
 
   # user pages
   map.connect '/user/:display_name', :controller => 'user', :action => 'view'
-  map.connect '/user/:display_name/edits', :controller => 'changeset', :action => 'list_user'
+  map.connect '/user/:display_name/edits', :controller => 'changeset', :action => 'list'
+  map.connect '/user/:display_name/edits/rss', :controller => 'changeset', :action => 'list', :format =>:rss
   map.connect '/user/:display_name/make_friend', :controller => 'user', :action => 'make_friend'
   map.connect '/user/:display_name/remove_friend', :controller => 'user', :action => 'remove_friend'
   map.connect '/user/:display_name/diary', :controller => 'diary_entry', :action => 'list'
index d943768ad67e489f1f74199dd8c9b328947a7914..30bbebb8d928ed056f591a5361b56c613363248e 100644 (file)
@@ -4,7 +4,7 @@ class BoundingBox
   end
 
   def self.from_s(s)
-    BoundingBox.new(s.split(/,/))
+    BoundingBox.new(*s.split(/,/))
   end
 
   def min_lon
index d60fe2fbc9621344512f373f479916ee85b3942d..f1ecb3cc77c0648a737e922b360697625fe4091c 100644 (file)
@@ -1490,11 +1490,11 @@ EOF
   def test_list
     changesets = Changeset.find(:all, :order => "created_at DESC", :conditions => ['min_lat IS NOT NULL'], :limit=> 20)
     assert changesets.size <= 20
-    get :list
+    get :list, {:format => "rhtml"}
     assert_response :success
     assert_template "list"
     # Now check that all 20 (or however many were returned) changesets are in the html
-    assert_select "h1", :text => "Recent Changes", :count => 1
+    assert_select "h1", :text => "Changesets", :count => 1
     assert_select "table[id='changeset_list'] tr", :count => changesets.size + 1
     changesets.each do |changeset|
       # FIXME this test needs rewriting - test for table contents
@@ -1505,16 +1505,16 @@ EOF
   # Checks the display of the user changesets listing
   def test_list_user
     user = users(:public_user)
-    get :list_user, {:display_name => user.display_name}
+    get :list, {:format => "rhtml", :display_name => user.display_name}
     assert_response :success
-    assert_template 'list_user'
+    assert_template "list"
     ## FIXME need to add more checks to see which if edits are actually shown if your data is public
   end
   
   ##
   # Check the not found of the list user changesets
   def test_list_user_not_found
-    get :list_user, {:display_name => "Some random user"}
+    get :list, {:format => "rhtml", :display_name => "Some random user"}
     assert_response :not_found
     assert_template 'user/no_such_user'
   end