diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index a6cad6b2f..77ec1a601 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -61,7 +61,7 @@ class UsersController < ApplicationController format.csv do # Export all entries @entries = scope.to_a - send_data(query_to_csv(@entries, @query, params), :type => 'text/csv; header=present', :filename => 'users.csv') + send_data(query_to_csv(@entries, @query, params), :type => 'text/csv; header=present', :filename => "#{filename_for_export(@query, 'users')}.csv") end format.api do @offset, @limit = api_offset_and_limit diff --git a/test/functional/users_controller_test.rb b/test/functional/users_controller_test.rb index ccb40ce4c..e452371ff 100644 --- a/test/functional/users_controller_test.rb +++ b/test/functional/users_controller_test.rb @@ -280,6 +280,19 @@ class UsersControllerTest < Redmine::ControllerTest assert_equal 'text/csv; header=present', @response.media_type end + def test_index_csv_filename_without_query_id_param + get :index, :params => {:format => 'csv'} + assert_response :success + assert_match /users.csv/, @response.headers['Content-Disposition'] + end + + def test_index_csv_filename_with_query_id_param + query = UserQuery.create!(:name => 'My Query Name', :visibility => UserQuery::VISIBILITY_PUBLIC) + get :index, :params => {:query_id => query.id, :format => 'csv'} + assert_response :success + assert_match /my_query_name\.csv/, @response.headers['Content-Disposition'] + end + def test_show @request.session[:user_id] = nil get :show, :params => {:id => 2}