mirror of
https://github.com/redmine/redmine.git
synced 2025-11-12 00:06:01 +01:00
Fix internal server error when trying to retrieve AnonymousUser's information via Users API (#37157).
Patch by Yuichi HARADA. git-svn-id: https://svn.redmine.org/redmine/trunk@21606 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
@@ -9,7 +9,7 @@ api.user do
|
||||
api.updated_on @user.updated_on
|
||||
api.last_login_on @user.last_login_on
|
||||
api.passwd_changed_on @user.passwd_changed_on
|
||||
api.avatar_url gravatar_url(@user.mail, {rating: nil, size: nil, default: Setting.gravatar_default}) if Setting.gravatar_enabled?
|
||||
api.avatar_url gravatar_url(@user.mail, {rating: nil, size: nil, default: Setting.gravatar_default}) if @user.mail && Setting.gravatar_enabled?
|
||||
api.twofa_scheme @user.twofa_scheme if User.current.admin? || (User.current == @user)
|
||||
api.api_key @user.api_key if User.current.admin? || (User.current == @user)
|
||||
api.status @user.status if User.current.admin?
|
||||
|
||||
@@ -96,6 +96,24 @@ class Redmine::ApiTest::UsersTest < Redmine::ApiTest::Base
|
||||
assert_select 'user avatar_url', :text => %r|\Ahttps://gravatar.com/avatar/\h{32}\?default=robohash|
|
||||
end
|
||||
|
||||
test "GET /users/:id.xml should not return avatar_url when not set email address" do
|
||||
user = User.find(2)
|
||||
user.email_addresses.delete_all
|
||||
assert_equal 'jsmith', user.login
|
||||
assert_nil user.mail
|
||||
|
||||
Redmine::Configuration.with 'avatar_server_url' => 'https://gravatar.com' do
|
||||
with_settings :gravatar_enabled => '1', :gravatar_default => 'robohash' do
|
||||
get '/users/2.xml'
|
||||
end
|
||||
end
|
||||
|
||||
assert_response :success
|
||||
assert_select 'user id', :text => '2'
|
||||
assert_select 'user login', :text => 'jsmith'
|
||||
assert_select 'user avatar_url', :count => 0
|
||||
end
|
||||
|
||||
test "GET /users/:id.json should return the user" do
|
||||
get '/users/2.json'
|
||||
|
||||
|
||||
Reference in New Issue
Block a user