Use a param to trigger export rather than a separate action

In site/_resize.html.erb and site/_search.html.erb, a
params[:action] conditional is used to include code that
should only run on the index action -- but it should be run
on the export action too. Cleanest fix is to eliminate that
action entirely.
This commit is contained in:
John Firebaugh 2012-09-07 09:26:44 +01:00 committed by Tom Hughes
parent 6358f8190d
commit 8ec415b060
4 changed files with 4 additions and 16 deletions

View file

@ -6,10 +6,6 @@ class SiteController < ApplicationController
before_filter :set_locale
before_filter :require_user, :only => [:edit]
def export
render :action => 'index'
end
def permalink
lon, lat, zoom = ShortLink::decode(params[:code])
new_params = params.clone

View file

@ -291,7 +291,7 @@ end
e.preventDefault();
});
<% if params[:action] == 'export' -%>
<% if params[:export] -%>
$("#exportanchor").click();
<% end -%>

View file

@ -102,7 +102,7 @@ OpenStreetMap::Application.routes.draw do
match '/copyright' => 'site#copyright', :via => :get
match '/history' => 'changeset#list', :via => :get
match '/history/feed' => 'changeset#feed', :via => :get, :format => :atom
match '/export' => 'site#export', :via => :get
match '/export' => 'site#index', :export => true, :via => :get
match '/login' => 'user#login', :via => [:get, :post]
match '/logout' => 'user#logout', :via => [:get, :post]
match '/offline' => 'site#offline', :via => :get

View file

@ -36,10 +36,10 @@ class SiteControllerTest < ActionController::TestCase
)
assert_routing(
{ :path => "/export", :method => :get },
{ :controller => "site", :action => "export" }
{ :controller => "site", :action => "index", :export => true }
)
assert_recognizes(
{ :controller => "site", :action => "export", :format => "html" },
{ :controller => "site", :action => "index", :export => true, :format => "html" },
{ :path => "/export.html", :method => :get }
)
assert_routing(
@ -76,14 +76,6 @@ class SiteControllerTest < ActionController::TestCase
assert_redirected_to :controller => :user, :action => 'login', :referer => "/edit"
end
# Get the export page
def test_export
get :export
assert_response :success
assert_template 'index'
assert_site_partials
end
# Offline page
def test_offline
get :offline