This is to match older/newer pagination that uses 'before' and 'after' parameters.
##
# list non-empty changesets in reverse chronological order
def index
##
# list non-empty changesets in reverse chronological order
def index
- param! :max_id, Integer, :min => 1
+ param! :before, Integer, :min => 1
- @params = params.permit(:display_name, :bbox, :friends, :nearby, :max_id, :list)
+ @params = params.permit(:display_name, :bbox, :friends, :nearby, :before, :list)
- if request.format == :atom && @params[:max_id]
- redirect_to url_for(@params.merge(:max_id => nil)), :status => :moved_permanently
+ if request.format == :atom && @params[:before]
+ redirect_to url_for(@params.merge(:before => nil)), :status => :moved_permanently
changesets = changesets.where(:user => current_user.nearby)
end
changesets = changesets.where(:user => current_user.nearby)
end
- changesets = changesets.where(:changesets => { :id => ..@params[:max_id] }) if @params[:max_id]
+ changesets = changesets.where(:changesets => { :id => ...@params[:before] }) if @params[:before]
@changesets = changesets.order("changesets.id DESC").limit(20).preload(:user, :changeset_tags, :comments)
@changesets = changesets.order("changesets.id DESC").limit(20).preload(:user, :changeset_tags, :comments)
<% content_for :auto_discovery_link_tag do -%>
<% unless params[:friends] or params[:nearby] -%>
<% content_for :auto_discovery_link_tag do -%>
<% unless params[:friends] or params[:nearby] -%>
- <%= auto_discovery_link_tag :atom, @params.to_h.merge(:max_id => nil, :xhr => nil, :action => :feed) %>
+ <%= auto_discovery_link_tag :atom, @params.to_h.merge(:before => nil, :xhr => nil, :action => :feed) %>
</ol>
<% if @changesets.size == 20 -%>
<div class="changeset_more mt-3 text-center">
</ol>
<% if @changesets.size == 20 -%>
<div class="changeset_more mt-3 text-center">
- <%= link_to t(".load_more"), url_for(@params.merge(:max_id => @changesets.last.id - 1)), :class => "btn btn-primary" %>
+ <%= link_to t(".load_more"), url_for(@params.merge(:before => @changesets.last.id)), :class => "btn btn-primary" %>
<div class="text-center loader">
<div class="spinner-border" role="status">
<span class="visually-hidden"><%= t("browse.start_rjs.loading") %></span>
<div class="text-center loader">
<div class="spinner-border" role="status">
<span class="visually-hidden"><%= t("browse.start_rjs.loading") %></span>
</div>
<% end -%>
<% elsif params[:bbox] %>
</div>
<% end -%>
<% elsif params[:bbox] %>
- <p class="mx-3"><%= params[:max_id] ? t(".no_more_area") : t(".empty_area") %></p>
+ <p class="mx-3"><%= params[:before] ? t(".no_more_area") : t(".empty_area") %></p>
<% elsif params[:display_name] %>
<% elsif params[:display_name] %>
- <p class="mx-3"><%= params[:max_id] ? t(".no_more_user") : t(".empty_user") %></p>
+ <p class="mx-3"><%= params[:before] ? t(".no_more_user") : t(".empty_user") %></p>
- <p class="mx-3"><%= params[:max_id] ? t(".no_more") : t(".empty") %></p>
+ <p class="mx-3"><%= params[:before] ? t(".no_more") : t(".empty") %></p>
# This should report an error
def test_index_invalid_xhr
%w[-1 0 fred].each do |id|
# This should report an error
def test_index_invalid_xhr
%w[-1 0 fred].each do |id|
- get history_path(:format => "html", :list => "1", :max_id => id)
+ get history_path(:format => "html", :list => "1", :before => id)
assert_redirected_to :controller => :errors, :action => :bad_request
end
end
assert_redirected_to :controller => :errors, :action => :bad_request
end
end
##
# Check that we can't request later pages of the changesets index
##
# Check that we can't request later pages of the changesets index
- def test_index_max_id
- changeset = create(:changeset, :num_changes => 1)
- _changeset2 = create(:changeset, :num_changes => 1)
+ def test_index_before_id
+ changeset1 = create(:changeset, :num_changes => 1)
+ changeset2 = create(:changeset, :num_changes => 1)
- get history_path(:format => "html", :max_id => changeset.id), :xhr => true
+ get history_path(:format => "html", :before => changeset2.id), :xhr => true
assert_response :success
assert_template "history"
assert_template :layout => "xhr"
assert_select "h2", :text => "Changesets", :count => 1
assert_response :success
assert_template "history"
assert_template :layout => "xhr"
assert_select "h2", :text => "Changesets", :count => 1
- get history_path(:format => "html", :list => "1", :max_id => changeset.id), :xhr => true
+ get history_path(:format => "html", :list => "1", :before => changeset2.id), :xhr => true
assert_response :success
assert_template "index"
assert_response :success
assert_template "index"
- check_index_result([changeset])
+ check_index_result [changeset1]
##
# Check that we can't request later pages of the changesets feed
##
# Check that we can't request later pages of the changesets feed
- def test_feed_max_id
- get history_feed_path(:format => "atom", :max_id => 100)
+ def test_feed_before
+ get history_feed_path(:format => "atom", :before => 100)
assert_redirected_to :action => :feed
end
assert_redirected_to :action => :feed
end