Merge remote-tracking branch 'upstream/pull/1984'
This commit is contained in:
commit
995a5f89c2
6 changed files with 40 additions and 40 deletions
|
@ -14,7 +14,7 @@ class UserController < ApplicationController
|
||||||
before_action :require_allow_read_prefs, :only => [:api_details]
|
before_action :require_allow_read_prefs, :only => [:api_details]
|
||||||
before_action :require_allow_read_gpx, :only => [:api_gpx_files]
|
before_action :require_allow_read_gpx, :only => [:api_gpx_files]
|
||||||
before_action :require_cookies, :only => [:new, :login, :confirm]
|
before_action :require_cookies, :only => [:new, :login, :confirm]
|
||||||
before_action :require_administrator, :only => [:set_status, :delete, :list]
|
before_action :require_administrator, :only => [:set_status, :delete, :index]
|
||||||
around_action :api_call_handle_error, :only => [:api_read, :api_users, :api_details, :api_gpx_files]
|
around_action :api_call_handle_error, :only => [:api_read, :api_users, :api_details, :api_gpx_files]
|
||||||
before_action :lookup_user_by_id, :only => [:api_read]
|
before_action :lookup_user_by_id, :only => [:api_read]
|
||||||
before_action :lookup_user_by_name, :only => [:set_status, :delete]
|
before_action :lookup_user_by_name, :only => [:set_status, :delete]
|
||||||
|
@ -488,7 +488,7 @@ class UserController < ApplicationController
|
||||||
|
|
||||||
##
|
##
|
||||||
# display a list of users matching specified criteria
|
# display a list of users matching specified criteria
|
||||||
def list
|
def index
|
||||||
if request.post?
|
if request.post?
|
||||||
ids = params[:user].keys.collect(&:to_i)
|
ids = params[:user].keys.collect(&:to_i)
|
||||||
|
|
||||||
|
|
|
@ -7,13 +7,13 @@
|
||||||
<td>
|
<td>
|
||||||
<p>
|
<p>
|
||||||
<% if user.creation_ip %>
|
<% if user.creation_ip %>
|
||||||
<%= raw t 'user.list.summary',
|
<%= raw t 'user.index.summary',
|
||||||
:name => link_to(h(user.display_name), user_path(user)),
|
:name => link_to(h(user.display_name), user_path(user)),
|
||||||
:ip_address => link_to(user.creation_ip, :ip => user.creation_ip),
|
:ip_address => link_to(user.creation_ip, :ip => user.creation_ip),
|
||||||
:date => l(user.creation_time, :format => :friendly)
|
:date => l(user.creation_time, :format => :friendly)
|
||||||
%>
|
%>
|
||||||
<% else %>
|
<% else %>
|
||||||
<%= raw t 'user.list.summary_no_ip',
|
<%= raw t 'user.index.summary_no_ip',
|
||||||
:name => link_to(h(user.display_name), user_path(user)),
|
:name => link_to(h(user.display_name), user_path(user)),
|
||||||
:date => l(user.creation_time, :format => :friendly)
|
:date => l(user.creation_time, :format => :friendly)
|
||||||
%>
|
%>
|
||||||
|
|
|
@ -2168,7 +2168,7 @@ en:
|
||||||
not_a_friend: "%{name} is not one of your friends."
|
not_a_friend: "%{name} is not one of your friends."
|
||||||
filter:
|
filter:
|
||||||
not_an_administrator: "You need to be an administrator to perform that action."
|
not_an_administrator: "You need to be an administrator to perform that action."
|
||||||
list:
|
index:
|
||||||
title: Users
|
title: Users
|
||||||
heading: Users
|
heading: Users
|
||||||
showing:
|
showing:
|
||||||
|
|
|
@ -242,8 +242,8 @@ OpenStreetMap::Application.routes.draw do
|
||||||
get "/user/:display_name/delete" => "user#delete", :as => :delete_user
|
get "/user/:display_name/delete" => "user#delete", :as => :delete_user
|
||||||
|
|
||||||
# user lists
|
# user lists
|
||||||
match "/users" => "user#list", :via => [:get, :post]
|
match "/users" => "user#index", :via => [:get, :post]
|
||||||
match "/users/:status" => "user#list", :via => [:get, :post]
|
match "/users/:status" => "user#index", :via => [:get, :post]
|
||||||
|
|
||||||
# geocoder
|
# geocoder
|
||||||
get "/search" => "geocoder#search"
|
get "/search" => "geocoder#search"
|
||||||
|
|
|
@ -170,19 +170,19 @@ class UserControllerTest < ActionController::TestCase
|
||||||
|
|
||||||
assert_routing(
|
assert_routing(
|
||||||
{ :path => "/users", :method => :get },
|
{ :path => "/users", :method => :get },
|
||||||
{ :controller => "user", :action => "list" }
|
{ :controller => "user", :action => "index" }
|
||||||
)
|
)
|
||||||
assert_routing(
|
assert_routing(
|
||||||
{ :path => "/users", :method => :post },
|
{ :path => "/users", :method => :post },
|
||||||
{ :controller => "user", :action => "list" }
|
{ :controller => "user", :action => "index" }
|
||||||
)
|
)
|
||||||
assert_routing(
|
assert_routing(
|
||||||
{ :path => "/users/status", :method => :get },
|
{ :path => "/users/status", :method => :get },
|
||||||
{ :controller => "user", :action => "list", :status => "status" }
|
{ :controller => "user", :action => "index", :status => "status" }
|
||||||
)
|
)
|
||||||
assert_routing(
|
assert_routing(
|
||||||
{ :path => "/users/status", :method => :post },
|
{ :path => "/users/status", :method => :post },
|
||||||
{ :controller => "user", :action => "list", :status => "status" }
|
{ :controller => "user", :action => "index", :status => "status" }
|
||||||
)
|
)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -1431,7 +1431,7 @@ class UserControllerTest < ActionController::TestCase
|
||||||
assert_equal "deleted", user.status
|
assert_equal "deleted", user.status
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_list_get
|
def test_index_get
|
||||||
user = create(:user)
|
user = create(:user)
|
||||||
moderator_user = create(:moderator_user)
|
moderator_user = create(:moderator_user)
|
||||||
administrator_user = create(:administrator_user)
|
administrator_user = create(:administrator_user)
|
||||||
|
@ -1443,21 +1443,21 @@ class UserControllerTest < ActionController::TestCase
|
||||||
assert_equal 7, User.count
|
assert_equal 7, User.count
|
||||||
|
|
||||||
# Shouldn't work when not logged in
|
# Shouldn't work when not logged in
|
||||||
get :list
|
get :index
|
||||||
assert_response :redirect
|
assert_response :redirect
|
||||||
assert_redirected_to :action => :login, :referer => users_path
|
assert_redirected_to :action => :login, :referer => users_path
|
||||||
|
|
||||||
session[:user] = user.id
|
session[:user] = user.id
|
||||||
|
|
||||||
# Shouldn't work when logged in as a normal user
|
# Shouldn't work when logged in as a normal user
|
||||||
get :list
|
get :index
|
||||||
assert_response :redirect
|
assert_response :redirect
|
||||||
assert_redirected_to :action => :login, :referer => users_path
|
assert_redirected_to :action => :login, :referer => users_path
|
||||||
|
|
||||||
session[:user] = moderator_user.id
|
session[:user] = moderator_user.id
|
||||||
|
|
||||||
# Shouldn't work when logged in as a moderator
|
# Shouldn't work when logged in as a moderator
|
||||||
get :list
|
get :index
|
||||||
assert_response :redirect
|
assert_response :redirect
|
||||||
assert_redirected_to :action => :login, :referer => users_path
|
assert_redirected_to :action => :login, :referer => users_path
|
||||||
|
|
||||||
|
@ -1465,25 +1465,25 @@ class UserControllerTest < ActionController::TestCase
|
||||||
|
|
||||||
# Note there is a header row, so all row counts are users + 1
|
# Note there is a header row, so all row counts are users + 1
|
||||||
# Should work when logged in as an administrator
|
# Should work when logged in as an administrator
|
||||||
get :list
|
get :index
|
||||||
assert_response :success
|
assert_response :success
|
||||||
assert_template :list
|
assert_template :index
|
||||||
assert_select "table#user_list tr", :count => 7 + 1
|
assert_select "table#user_list tr", :count => 7 + 1
|
||||||
|
|
||||||
# Should be able to limit by status
|
# Should be able to limit by status
|
||||||
get :list, :params => { :status => "suspended" }
|
get :index, :params => { :status => "suspended" }
|
||||||
assert_response :success
|
assert_response :success
|
||||||
assert_template :list
|
assert_template :index
|
||||||
assert_select "table#user_list tr", :count => 1 + 1
|
assert_select "table#user_list tr", :count => 1 + 1
|
||||||
|
|
||||||
# Should be able to limit by IP address
|
# Should be able to limit by IP address
|
||||||
get :list, :params => { :ip => "1.2.3.4" }
|
get :index, :params => { :ip => "1.2.3.4" }
|
||||||
assert_response :success
|
assert_response :success
|
||||||
assert_template :list
|
assert_template :index
|
||||||
assert_select "table#user_list tr", :count => 1 + 1
|
assert_select "table#user_list tr", :count => 1 + 1
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_list_get_paginated
|
def test_index_get_paginated
|
||||||
1.upto(100).each do |n|
|
1.upto(100).each do |n|
|
||||||
User.create(:display_name => "extra_#{n}",
|
User.create(:display_name => "extra_#{n}",
|
||||||
:email => "extra#{n}@example.com",
|
:email => "extra#{n}@example.com",
|
||||||
|
@ -1495,29 +1495,29 @@ class UserControllerTest < ActionController::TestCase
|
||||||
# 100 examples, an administrator, and a granter for the admin.
|
# 100 examples, an administrator, and a granter for the admin.
|
||||||
assert_equal 102, User.count
|
assert_equal 102, User.count
|
||||||
|
|
||||||
get :list
|
get :index
|
||||||
assert_response :success
|
assert_response :success
|
||||||
assert_template :list
|
assert_template :index
|
||||||
assert_select "table#user_list tr", :count => 51
|
assert_select "table#user_list tr", :count => 51
|
||||||
|
|
||||||
get :list, :params => { :page => 2 }
|
get :index, :params => { :page => 2 }
|
||||||
assert_response :success
|
assert_response :success
|
||||||
assert_template :list
|
assert_template :index
|
||||||
assert_select "table#user_list tr", :count => 51
|
assert_select "table#user_list tr", :count => 51
|
||||||
|
|
||||||
get :list, :params => { :page => 3 }
|
get :index, :params => { :page => 3 }
|
||||||
assert_response :success
|
assert_response :success
|
||||||
assert_template :list
|
assert_template :index
|
||||||
assert_select "table#user_list tr", :count => 3
|
assert_select "table#user_list tr", :count => 3
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_list_post_confirm
|
def test_index_post_confirm
|
||||||
inactive_user = create(:user, :pending)
|
inactive_user = create(:user, :pending)
|
||||||
suspended_user = create(:user, :suspended)
|
suspended_user = create(:user, :suspended)
|
||||||
|
|
||||||
# Shouldn't work when not logged in
|
# Shouldn't work when not logged in
|
||||||
assert_no_difference "User.active.count" do
|
assert_no_difference "User.active.count" do
|
||||||
post :list, :params => { :confirm => 1, :user => { inactive_user.id => 1, suspended_user.id => 1 } }
|
post :index, :params => { :confirm => 1, :user => { inactive_user.id => 1, suspended_user.id => 1 } }
|
||||||
end
|
end
|
||||||
assert_response :redirect
|
assert_response :redirect
|
||||||
assert_redirected_to :action => :login, :referer => users_path
|
assert_redirected_to :action => :login, :referer => users_path
|
||||||
|
@ -1528,7 +1528,7 @@ class UserControllerTest < ActionController::TestCase
|
||||||
|
|
||||||
# Shouldn't work when logged in as a normal user
|
# Shouldn't work when logged in as a normal user
|
||||||
assert_no_difference "User.active.count" do
|
assert_no_difference "User.active.count" do
|
||||||
post :list, :params => { :confirm => 1, :user => { inactive_user.id => 1, suspended_user.id => 1 } }
|
post :index, :params => { :confirm => 1, :user => { inactive_user.id => 1, suspended_user.id => 1 } }
|
||||||
end
|
end
|
||||||
assert_response :redirect
|
assert_response :redirect
|
||||||
assert_redirected_to :action => :login, :referer => users_path
|
assert_redirected_to :action => :login, :referer => users_path
|
||||||
|
@ -1539,7 +1539,7 @@ class UserControllerTest < ActionController::TestCase
|
||||||
|
|
||||||
# Shouldn't work when logged in as a moderator
|
# Shouldn't work when logged in as a moderator
|
||||||
assert_no_difference "User.active.count" do
|
assert_no_difference "User.active.count" do
|
||||||
post :list, :params => { :confirm => 1, :user => { inactive_user.id => 1, suspended_user.id => 1 } }
|
post :index, :params => { :confirm => 1, :user => { inactive_user.id => 1, suspended_user.id => 1 } }
|
||||||
end
|
end
|
||||||
assert_response :redirect
|
assert_response :redirect
|
||||||
assert_redirected_to :action => :login, :referer => users_path
|
assert_redirected_to :action => :login, :referer => users_path
|
||||||
|
@ -1550,21 +1550,21 @@ class UserControllerTest < ActionController::TestCase
|
||||||
|
|
||||||
# Should work when logged in as an administrator
|
# Should work when logged in as an administrator
|
||||||
assert_difference "User.active.count", 2 do
|
assert_difference "User.active.count", 2 do
|
||||||
post :list, :params => { :confirm => 1, :user => { inactive_user.id => 1, suspended_user.id => 1 } }
|
post :index, :params => { :confirm => 1, :user => { inactive_user.id => 1, suspended_user.id => 1 } }
|
||||||
end
|
end
|
||||||
assert_response :redirect
|
assert_response :redirect
|
||||||
assert_redirected_to :action => :list
|
assert_redirected_to :action => :index
|
||||||
assert_equal "confirmed", inactive_user.reload.status
|
assert_equal "confirmed", inactive_user.reload.status
|
||||||
assert_equal "confirmed", suspended_user.reload.status
|
assert_equal "confirmed", suspended_user.reload.status
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_list_post_hide
|
def test_index_post_hide
|
||||||
normal_user = create(:user)
|
normal_user = create(:user)
|
||||||
confirmed_user = create(:user, :confirmed)
|
confirmed_user = create(:user, :confirmed)
|
||||||
|
|
||||||
# Shouldn't work when not logged in
|
# Shouldn't work when not logged in
|
||||||
assert_no_difference "User.active.count" do
|
assert_no_difference "User.active.count" do
|
||||||
post :list, :params => { :hide => 1, :user => { normal_user.id => 1, confirmed_user.id => 1 } }
|
post :index, :params => { :hide => 1, :user => { normal_user.id => 1, confirmed_user.id => 1 } }
|
||||||
end
|
end
|
||||||
assert_response :redirect
|
assert_response :redirect
|
||||||
assert_redirected_to :action => :login, :referer => users_path
|
assert_redirected_to :action => :login, :referer => users_path
|
||||||
|
@ -1575,7 +1575,7 @@ class UserControllerTest < ActionController::TestCase
|
||||||
|
|
||||||
# Shouldn't work when logged in as a normal user
|
# Shouldn't work when logged in as a normal user
|
||||||
assert_no_difference "User.active.count" do
|
assert_no_difference "User.active.count" do
|
||||||
post :list, :params => { :hide => 1, :user => { normal_user.id => 1, confirmed_user.id => 1 } }
|
post :index, :params => { :hide => 1, :user => { normal_user.id => 1, confirmed_user.id => 1 } }
|
||||||
end
|
end
|
||||||
assert_response :redirect
|
assert_response :redirect
|
||||||
assert_redirected_to :action => :login, :referer => users_path
|
assert_redirected_to :action => :login, :referer => users_path
|
||||||
|
@ -1586,7 +1586,7 @@ class UserControllerTest < ActionController::TestCase
|
||||||
|
|
||||||
# Shouldn't work when logged in as a moderator
|
# Shouldn't work when logged in as a moderator
|
||||||
assert_no_difference "User.active.count" do
|
assert_no_difference "User.active.count" do
|
||||||
post :list, :params => { :hide => 1, :user => { normal_user.id => 1, confirmed_user.id => 1 } }
|
post :index, :params => { :hide => 1, :user => { normal_user.id => 1, confirmed_user.id => 1 } }
|
||||||
end
|
end
|
||||||
assert_response :redirect
|
assert_response :redirect
|
||||||
assert_redirected_to :action => :login, :referer => users_path
|
assert_redirected_to :action => :login, :referer => users_path
|
||||||
|
@ -1597,10 +1597,10 @@ class UserControllerTest < ActionController::TestCase
|
||||||
|
|
||||||
# Should work when logged in as an administrator
|
# Should work when logged in as an administrator
|
||||||
assert_difference "User.active.count", -2 do
|
assert_difference "User.active.count", -2 do
|
||||||
post :list, :params => { :hide => 1, :user => { normal_user.id => 1, confirmed_user.id => 1 } }
|
post :index, :params => { :hide => 1, :user => { normal_user.id => 1, confirmed_user.id => 1 } }
|
||||||
end
|
end
|
||||||
assert_response :redirect
|
assert_response :redirect
|
||||||
assert_redirected_to :action => :list
|
assert_redirected_to :action => :index
|
||||||
assert_equal "deleted", normal_user.reload.status
|
assert_equal "deleted", normal_user.reload.status
|
||||||
assert_equal "deleted", confirmed_user.reload.status
|
assert_equal "deleted", confirmed_user.reload.status
|
||||||
end
|
end
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue