From: Tom Hughes Date: Sun, 5 Jul 2009 23:47:40 +0000 (+0000) Subject: Merge 16216:16355 from trunk. X-Git-Tag: live~6847^2~4 X-Git-Url: https://git.openstreetmap.org/rails.git/commitdiff_plain/9a32033209545a69d60cbd551e6bd975cda64341?hp=ff401e541b89850376e7491f98ec5f3c18057d9b Merge 16216:16355 from trunk. --- diff --git a/app/controllers/browse_controller.rb b/app/controllers/browse_controller.rb index 8124d4a33..91d8eb84f 100644 --- a/app/controllers/browse_controller.rb +++ b/app/controllers/browse_controller.rb @@ -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 diff --git a/app/controllers/changeset_controller.rb b/app/controllers/changeset_controller.rb index ca42751d3..d7f3d39c8 100644 --- a/app/controllers/changeset_controller.rb +++ b/app/controllers/changeset_controller.rb @@ -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 = "#{bbox.to_s}" + 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. diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index 3119c8435..b28ab7c1a 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -6,4 +6,8 @@ module ApplicationHelper def rss_link_to(*args) return link_to(image_tag("RSS.gif", :size => "16x16", :border => 0), Hash[*args], { :class => "rsssmall" }); end + + def atom_link_to(*args) + return link_to(image_tag("RSS.gif", :size => "16x16", :border => 0), Hash[*args], { :class => "rsssmall" }); + end end diff --git a/app/views/browse/_navigation.html.erb b/app/views/browse/_navigation.html.erb index 57e724d42..88812c2bb 100644 --- a/app/views/browse/_navigation.html.erb +++ b/app/views/browse/_navigation.html.erb @@ -1,13 +1,40 @@
+ <% if @next_by_user or @prev_by_user %> + <% if @prev_by_user %> + < + <%= link_to @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 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 @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 %> +
+ <% end %> <% if @prev %> < - <%= link_to @prev.id.to_s, :id => @prev.id %> + <%= link_to @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 %> + <%= link_to @next.id.to_s, + { :id => @next.id }, + { :title => t('browse.changeset_navigation.all.next_tooltip') } %> > <% end %>
diff --git a/app/views/browse/changeset.html.erb b/app/views/browse/changeset.html.erb index e5963c57f..8e1102128 100644 --- a/app/views/browse/changeset.html.erb +++ b/app/views/browse/changeset.html.erb @@ -1,7 +1,7 @@ diff --git a/app/views/changeset/_changeset_paging_nav.html.erb b/app/views/changeset/_changeset_paging_nav.html.erb index b8ac1a65f..94edfc31e 100644 --- a/app/views/changeset/_changeset_paging_nav.html.erb +++ b/app/views/changeset/_changeset_paging_nav.html.erb @@ -1,3 +1,4 @@ +

<% current_page = @edit_pages.current_page %> <%= t'changeset.changeset_paging_nav.showing_page' %> @@ -16,3 +17,4 @@ if @edit_pages.page_count > 1 <% end %> +

diff --git a/app/views/changeset/list.atom.builder b/app/views/changeset/list.atom.builder new file mode 100644 index 000000000..650ef4375 --- /dev/null +++ b/app/views/changeset/list.atom.builder @@ -0,0 +1,87 @@ +atom_feed(:language => I18n.locale, :schema_date => 2009, + :id => url_for(params.merge({ :only_path => false })), + :root_url => url_for(params.merge({ :only_path => false, :format => nil })), + "xmlns:georss" => "http://www.georss.org/georss") do |feed| + feed.title @title + + feed.subtitle :type => 'xhtml' do |xhtml| + xhtml.p @description + end + + feed.updated @edits.map {|e| [e.created_at, e.closed_at].max }.max + feed.icon "http://#{SERVER_URL}/favicon.ico" + feed.logo "http://#{SERVER_URL}/images/mag_map-rss2.0.png" + + feed.rights :type => 'xhtml' do |xhtml| + xhtml.a :href => "http://creativecommons.org/licenses/by-sa/2.0/" do |a| + a.img :src => "http://#{SERVER_URL}/images/cc_button.png", :alt => "CC by-sa 2.0" + end + end + + for changeset in @edits + feed.entry(changeset, :updated => changeset.closed_at, :id => changeset_url(changeset.id, :only_path => false)) do |entry| + entry.link :rel => "alternate", + :href => changeset_read_url(changeset, :only_path => false), + :type => "application/osm+xml" + entry.link :rel => "alternate", + :href => changeset_download_url(changeset, :only_path => false), + :type => "application/osmChange+xml" + + entry.title t('browse.changeset.title') + " " + h(changeset.id) + + if changeset.user.data_public? + entry.author do |author| + author.name changeset.user.display_name + author.uri url_for(:controller => 'user', :action => 'view', :display_name => changeset.user.display_name, :only_path => false) + end + end + + feed.content :type => 'xhtml' do |xhtml| + xhtml.h2 t("browse.changeset.changeset", :id => changeset.id) + xhtml.table do |table| + table.tr do |tr| + tr.th t("browse.changeset_details.created_at") + tr.td l(changeset.created_at) + end + table.tr do |tr| + tr.th t("browse.changeset_details.closed_at") + tr.td l(changeset.closed_at) + end + if changeset.user.data_public? + table.tr do |tr| + tr.th t("browse.changeset_details.belongs_to") + tr.td link_to(h(changeset.user.display_name), :controller => "user", :action => "view", :display_name => changeset.user.display_name, :only_path => false) + end + end + unless changeset.tags.empty? + table.tr :valign => "top" do |tr| + tr.th t("browse.tag_details.tags") + tr.td do |td| + td.table :cellpadding => "0" do |table| + changeset.tags.sort.each do |tag| + table.tr do |tr| + tr.td "#{h(tag[0])} = #{sanitize(auto_link(tag[1]))}" + end + end + end + end + end + end + end + 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}" + + feed.georss :box, lower_corner + " " + upper_corner + end + end + end +end diff --git a/app/views/changeset/list.html.erb b/app/views/changeset/list.html.erb index cfe4afd3f..0fcf5ddda 100644 --- a/app/views/changeset/list.html.erb +++ b/app/views/changeset/list.html.erb @@ -1,7 +1,12 @@ -

<%= t'changeset.list.recent_changes' %>

-

<%= t'changeset.list.recently_edited_changesets' %>

+

<%= @title %>

+

<%= @description %>

-<%= render :partial => 'changesets' %> +<%= render :partial => 'changeset_paging_nav' %> +<%= render :partial => 'changesets', :locals => { :showusername => !params.has_key?(:display_name) } %> +<%= render :partial => 'changeset_paging_nav' %> -

<%= t'changeset.list.for_more_changesets' %>

-
+<%= atom_link_to params.merge({ :format => :atom }) %> + +<% content_for :head do %> +<%= auto_discovery_link_tag :atom, params.merge({ :format => :atom }) %> +<% end %> diff --git a/app/views/changeset/list_bbox.html.erb b/app/views/changeset/list_bbox.html.erb deleted file mode 100644 index 87c61790c..000000000 --- a/app/views/changeset/list_bbox.html.erb +++ /dev/null @@ -1,41 +0,0 @@ -

<%= t'changeset.list_bbox.history' %>

-<% -if @bbox!=nil - minlon = @bbox[0] - minlat = @bbox[1] - maxlon = @bbox[2] - maxlat = @bbox[3] - - %> -

-<%= t'changeset.list_bbox.changesets_within_the_area' %> - ('><%= format("%0.3f",minlon) -%>,<%= format("%0.3f",minlat) -%>,<%= format("%0.3f",maxlon) -%>,<%= format("%0.3f",maxlat) -%>) - -

- -<% if @edits.nil? or @edits.empty? %> -

<%= t'changeset.list_bbox.no_changesets' %>

-<% else %> - -<%= render :partial => 'changeset_paging_nav' %> -<%= render :partial => 'changesets' %> -<%= render :partial => 'changeset_paging_nav' %> - -

<%= t'changeset.list_bbox.all_changes_everywhere' , :recent_changes_link => link_to(t('changeset.list_bbox.recent_changes'), :controller => "browse", :action => "changesets") %>

- -<% - end - -else - #bbox is nil. happens if the user surfs to this page directly. -%> - -

<%= t'changeset.list_bbox.no_area_specified' %>

-

<%= t'changeset.list_bbox.first_use_view', :view_tab_link => '' + t('changeset.list_bbox.view_tab') + '' %>

-

<%= t'changeset.list_bbox.alternatively_view', :recent_changes_link => link_to(t('changeset.list_bbox.recent_changes'), :controller => "browse", :action => "changesets") %>

- -<% -end -%> -
- diff --git a/app/views/changeset/list_user.html.erb b/app/views/changeset/list_user.html.erb deleted file mode 100644 index 7240e6027..000000000 --- a/app/views/changeset/list_user.html.erb +++ /dev/null @@ -1,13 +0,0 @@ -

<%= t'changeset.list_user.edits_by_username', :username_link => link_to(h(@display_name), {:controller=>'user', :action=>'view', :display_name=>@display_name}) %>

- -<% if not @edits or @edits.empty? %> -

<%= t'changeset.list_user.no_visible_edits_by', :name => h(@display_name) %>.

-<% else %> -<%= render :partial => 'changeset_paging_nav' %> -<%= render :partial => 'changesets', :locals => {:showusername => false} %> -<%= render :partial => 'changeset_paging_nav' %> -<% end %> - -

<%= t'changeset.list_user.for_all_changes', :recent_changes_link => link_to(t('changeset.list_user.recent_changes'), :controller => "browse", :action => "changesets") %>

-
- diff --git a/app/views/layouts/site.html.erb b/app/views/layouts/site.html.erb index 7728809bf..320161fa0 100644 --- a/app/views/layouts/site.html.erb +++ b/app/views/layouts/site.html.erb @@ -47,14 +47,14 @@ 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' %>
  • <%= link_to t('layouts.view'), {:controller => 'site', :action => 'index'}, {:id => 'viewanchor', :title => t('layouts.view_tooltip'), :class => viewclass} %>
  • <%= link_to t('layouts.edit'), {:controller => 'site', :action => 'edit'}, {:id => 'editanchor', :title => t('layouts.edit_tooltip'), :class => editclass} %>
  • -
  • <%= link_to t('layouts.history'), {:controller => 'changeset', :action => 'list_bbox' }, {:id => 'historyanchor', :title => t('layouts.history_tooltip'), :class => historyclass} %>
  • +
  • <%= link_to t('layouts.history'), {:controller => 'changeset', :action => 'list' }, {:id => 'historyanchor', :title => t('layouts.history_tooltip'), :class => historyclass} %>
  • <% if params['controller'] == 'site' and (params['action'] == 'index' or params['action'] == 'export') %>
  • <%= 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')} %>
  • <% else %> diff --git a/app/views/layouts/site.rss.builder b/app/views/layouts/site.rss.builder new file mode 100644 index 000000000..90198e8f4 --- /dev/null +++ b/app/views/layouts/site.rss.builder @@ -0,0 +1,2 @@ +xml.instruct! +xml << yield diff --git a/app/views/user/view.html.erb b/app/views/user/view.html.erb index 1b582c0b9..e50610037 100644 --- a/app/views/user/view.html.erb +++ b/app/views/user/view.html.erb @@ -4,14 +4,14 @@ <%= 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 %> <%= 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 %> diff --git a/config/locales/en.yml b/config/locales/en.yml index c1a0d17f5..e11cda46a 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -83,10 +83,18 @@ en: browse: changeset: title: "Changeset" - changeset: "Changeset:" + changeset: "Changeset: {{id}}" download: "Download {{changeset_xml_link}} or {{osmchange_xml_link}}" changesetxml: "Changeset XML" osmchangexml: "osmChange XML" + changeset_navigation: + user: + name_tooltip: "View edits by {{user}}" + prev_tooltip: "Previous edit by {{user}}" + next_tooltip: "Next edit by {{user}}" + all: + prev_tooltip: "Previous changeset" + next_tooltip: "Next changeset" changeset_details: created_at: "Created at:" closed_at: "Closed at:" @@ -236,27 +244,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 diff --git a/config/locales/is.yml b/config/locales/is.yml index 3860c5b01..c6484ad8d 100644 --- a/config/locales/is.yml +++ b/config/locales/is.yml @@ -87,6 +87,14 @@ is: download: "Niðurhala breytingunni á {{changeset_xml_link}} eða á {{osmchange_xml_link}}" changesetxml: "Breytingarsetts XML sniði" osmchangexml: "osmChange XML sniði" + changeset_navigation: + user: + name_tooltip: "Skoða breytingarsett eftir {{user}}" + prev_tooltip: "Fyrri breytingarsett eftir {{user}}" + next_tooltip: "Næsta breytingarsett eftir {{user}}" + all: + prev_tooltip: "Fyrra breytingarsett" + next_tooltip: "Næsta breytingarsett" changeset_details: created_at: "Búið til:" closed_at: "Lokað:" diff --git a/config/routes.rb b/config/routes.rb index d60b52b0b..845c1277c 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -6,9 +6,9 @@ ActionController::Routing::Routes.draw do |map| map.connect "api/#{API_VERSION}/changeset/create", :controller => 'changeset', :action => 'create' map.connect "api/#{API_VERSION}/changeset/:id/upload", :controller => 'changeset', :action => 'upload', :id => /\d+/ - map.connect "api/#{API_VERSION}/changeset/:id/download", :controller => 'changeset', :action => 'download', :id => /\d+/ + map.changeset_download "api/#{API_VERSION}/changeset/:id/download", :controller => 'changeset', :action => 'download', :id => /\d+/ map.connect "api/#{API_VERSION}/changeset/:id/expand_bbox", :controller => 'changeset', :action => 'expand_bbox', :id => /\d+/ - map.connect "api/#{API_VERSION}/changeset/:id", :controller => 'changeset', :action => 'read', :id => /\d+/, :conditions => { :method => :get } + map.changeset_read "api/#{API_VERSION}/changeset/:id", :controller => 'changeset', :action => 'read', :id => /\d+/, :conditions => { :method => :get } map.connect "api/#{API_VERSION}/changeset/:id", :controller => 'changeset', :action => 'update', :id => /\d+/, :conditions => { :method => :put } map.connect "api/#{API_VERSION}/changeset/:id/close", :controller => 'changeset', :action => 'close', :id =>/\d+/ map.connect "api/#{API_VERSION}/changesets", :controller => 'changeset', :action => 'query' @@ -81,14 +81,16 @@ ActionController::Routing::Routes.draw do |map| map.connect '/browse/node/:id/history', :controller => 'browse', :action => 'node_history', :id => /\d+/ map.connect '/browse/relation/:id', :controller => 'browse', :action => 'relation', :id => /\d+/ 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.changeset '/browse/changeset/:id', :controller => 'browse', :action => 'changeset', :id => /\d+/ map.connect '/browse/changesets', :controller => 'changeset', :action => 'list' + map.connect '/browse/changesets/feed', :controller => 'changeset', :action => 'list', :format => :atom # 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/feed', :controller => 'changeset', :action => 'list', :format => :atom map.connect '/export', :controller => 'site', :action => 'export' map.connect '/login', :controller => 'user', :action => 'login' map.connect '/logout', :controller => 'user', :action => 'logout' @@ -146,7 +148,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/feed', :controller => 'changeset', :action => 'list', :format =>:atom 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' diff --git a/lib/bounding_box.rb b/lib/bounding_box.rb index d943768ad..30bbebb8d 100644 --- a/lib/bounding_box.rb +++ b/lib/bounding_box.rb @@ -4,7 +4,7 @@ class BoundingBox end def self.from_s(s) - BoundingBox.new(s.split(/,/)) + BoundingBox.new(*s.split(/,/)) end def min_lon diff --git a/test/functional/changeset_controller_test.rb b/test/functional/changeset_controller_test.rb index d60fe2fbc..8f0b21477 100644 --- a/test/functional/changeset_controller_test.rb +++ b/test/functional/changeset_controller_test.rb @@ -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 => "html"} 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 => "html", :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 => "html", :display_name => "Some random user"} assert_response :not_found assert_template 'user/no_such_user' end
    -

    <%= t 'browse.changeset.changeset' %> <%= h(@changeset.id) %>

    +

    <%= t 'browse.changeset.changeset', :id => @changeset.id %>

    <%= render :partial => "navigation" %> diff --git a/app/views/changeset/_changeset.html.erb b/app/views/changeset/_changeset.html.erb index 8ac433415..f8f00addb 100644 --- a/app/views/changeset/_changeset.html.erb +++ b/app/views/changeset/_changeset.html.erb @@ -14,7 +14,7 @@ <%if showusername %> <% 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 %> <%= t'changeset.changeset.anonymous' %> <% end %> @@ -25,7 +25,7 @@ <% if changeset.tags['comment'] %> <%= h(changeset.tags['comment']) %> <% else %> - <%= t'changeset.changeset.no_comment' %> + <%= t'changeset.changeset.no_comment' %> <% end %>