]> source.dussan.org Git - redmine.git/commitdiff
Add login to /users/:id API for current user (#13155).
authorJean-Philippe Lang <jp_lang@yahoo.fr>
Mon, 18 Feb 2013 17:24:54 +0000 (17:24 +0000)
committerJean-Philippe Lang <jp_lang@yahoo.fr>
Mon, 18 Feb 2013 17:24:54 +0000 (17:24 +0000)
Patch by Jérôme Bataille.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11437 e93f8b46-1217-0410-a6f0-8f06a7374b81

app/views/users/show.api.rsb
test/integration/api_test/users_test.rb

index ec7e5030f280aeb4956f984659de3349fa4d2451..de16f06817b242ad84cb2559cbb81b378474c47e 100644 (file)
@@ -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
index 5726bbd226f76201d6e0de6782878dfa3f4f0e6d..0bbf3b9e3650d3c7de6949dec388092064ae8317 100644 (file)
@@ -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