diff --git a/app/views/users/show.api.rsb b/app/views/users/show.api.rsb index ec7e503..de16f06 100644 --- a/app/views/users/show.api.rsb +++ b/app/views/users/show.api.rsb @@ -1,6 +1,6 @@ api.user do api.id @user.id - api.login @user.login if User.current.admin? + api.login @user.login if User.current.admin? || (User.current == @user) api.firstname @user.firstname api.lastname @user.lastname api.mail @user.mail if User.current.admin? || !@user.pref.hide_mail diff --git a/test/integration/api_test/users_test.rb b/test/integration/api_test/users_test.rb index 5726bbd..0bbf3b9 100644 --- a/test/integration/api_test/users_test.rb +++ b/test/integration/api_test/users_test.rb @@ -96,6 +96,18 @@ class Redmine::ApiTest::UsersTest < Redmine::ApiTest::Base end end + test "GET /users/:id should not return login for other user" do + get '/users/3.xml', {}, credentials('jsmith') + assert_response :success + assert_no_tag 'user', :child => {:tag => 'login'} + end + + test "GET /users/:id should return login for current user" do + get '/users/2.xml', {}, credentials('jsmith') + assert_response :success + assert_tag 'user', :child => {:tag => 'login', :content => 'jsmith'} + end + context "POST /users" do context "with valid parameters" do setup do