mirror of
https://github.com/redmine/redmine.git
synced 2025-11-10 23:36:01 +01:00
Include avatar URL in Users API (#36303).
Contributed by Yuichi HARADA. git-svn-id: http://svn.redmine.org/redmine/trunk@21375 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
@@ -11,6 +11,7 @@ api.array :users, api_meta(:total_count => @user_count, :offset => @offset, :lim
|
|||||||
api.updated_on user.updated_on
|
api.updated_on user.updated_on
|
||||||
api.last_login_on user.last_login_on
|
api.last_login_on user.last_login_on
|
||||||
api.passwd_changed_on user.passwd_changed_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.twofa_scheme user.twofa_scheme
|
api.twofa_scheme user.twofa_scheme
|
||||||
|
|
||||||
render_api_custom_values user.visible_custom_field_values, api
|
render_api_custom_values user.visible_custom_field_values, api
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ api.user do
|
|||||||
api.updated_on @user.updated_on
|
api.updated_on @user.updated_on
|
||||||
api.last_login_on @user.last_login_on
|
api.last_login_on @user.last_login_on
|
||||||
api.passwd_changed_on @user.passwd_changed_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.twofa_scheme @user.twofa_scheme if User.current.admin? || (User.current == @user)
|
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.api_key @user.api_key if User.current.admin? || (User.current == @user)
|
||||||
api.status @user.status if User.current.admin?
|
api.status @user.status if User.current.admin?
|
||||||
|
|||||||
@@ -25,7 +25,11 @@ class Redmine::ApiTest::UsersTest < Redmine::ApiTest::Base
|
|||||||
test "GET /users.xml should return users" do
|
test "GET /users.xml should return users" do
|
||||||
users = User.active.order('login')
|
users = User.active.order('login')
|
||||||
users.last.update(twofa_scheme: 'totp')
|
users.last.update(twofa_scheme: 'totp')
|
||||||
get '/users.xml', :headers => credentials('admin')
|
Redmine::Configuration.with 'avatar_server_url' => 'https://gravatar.com' do
|
||||||
|
with_settings :gravatar_enabled => '1', :gravatar_default => 'mm' do
|
||||||
|
get '/users.xml', :headers => credentials('admin')
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
assert_response :success
|
assert_response :success
|
||||||
assert_equal 'application/xml', response.media_type
|
assert_equal 'application/xml', response.media_type
|
||||||
@@ -38,6 +42,7 @@ class Redmine::ApiTest::UsersTest < Redmine::ApiTest::Base
|
|||||||
|
|
||||||
# No one has changed password.
|
# No one has changed password.
|
||||||
assert_select user_element, 'passwd_changed_on', :text => ''
|
assert_select user_element, 'passwd_changed_on', :text => ''
|
||||||
|
assert_select user_element, 'avatar_url', :text => %r|\Ahttps://gravatar.com/avatar/\h{32}\?default=mm|
|
||||||
|
|
||||||
if user == users.last
|
if user == users.last
|
||||||
assert_select user_element, 'twofa_scheme', :text => 'totp'
|
assert_select user_element, 'twofa_scheme', :text => 'totp'
|
||||||
@@ -78,12 +83,17 @@ class Redmine::ApiTest::UsersTest < Redmine::ApiTest::Base
|
|||||||
end
|
end
|
||||||
|
|
||||||
test "GET /users/:id.xml should return the user" do
|
test "GET /users/:id.xml should return the user" do
|
||||||
get '/users/2.xml'
|
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_response :success
|
||||||
assert_select 'user id', :text => '2'
|
assert_select 'user id', :text => '2'
|
||||||
assert_select 'user updated_on', :text => Time.zone.parse('2006-07-19T20:42:15Z').iso8601
|
assert_select 'user updated_on', :text => Time.zone.parse('2006-07-19T20:42:15Z').iso8601
|
||||||
assert_select 'user passwd_changed_on', :text => ''
|
assert_select 'user passwd_changed_on', :text => ''
|
||||||
|
assert_select 'user avatar_url', :text => %r|\Ahttps://gravatar.com/avatar/\h{32}\?default=robohash|
|
||||||
end
|
end
|
||||||
|
|
||||||
test "GET /users/:id.json should return the user" do
|
test "GET /users/:id.json should return the user" do
|
||||||
|
|||||||
Reference in New Issue
Block a user