]> source.dussan.org Git - redmine.git/commitdiff
Add status to /users/:id API for admins (#13948).
authorJean-Baptiste Barth <jeanbaptiste.barth@gmail.com>
Sun, 5 May 2013 08:19:17 +0000 (08:19 +0000)
committerJean-Baptiste Barth <jeanbaptiste.barth@gmail.com>
Sun, 5 May 2013 08:19:17 +0000 (08:19 +0000)
Patch by Kambiz Darabi

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

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

index 7168cb94fd2c05159d1315f3cb5d1776544b8c6d..e4c49f9b87e256521f22032aed94d34fdee21f48 100644 (file)
@@ -7,6 +7,7 @@ api.user do
   api.created_on @user.created_on
   api.last_login_on @user.last_login_on
   api.api_key    @user.api_key if User.current.admin? || (User.current == @user)
+  api.status     @user.status if User.current.admin?
 
   render_api_custom_values @user.visible_custom_field_values, api
 
index 7f72872a2dd17dc0f7b98f74230db3c2f9f5b768..f90e8cb3df400868f4a9e142c98f752a594f8a63 100644 (file)
@@ -120,6 +120,18 @@ class Redmine::ApiTest::UsersTest < Redmine::ApiTest::Base
     assert_tag 'user', :child => {:tag => 'api_key', :content => User.find(2).api_key}
   end
 
+  test "GET /users/:id should not return status for standard user" do
+    get '/users/3.xml', {}, credentials('jsmith')
+    assert_response :success
+    assert_no_tag 'user', :child => {:tag => 'status'}
+  end
+
+  test "GET /users/:id should return status for administrators" do
+    get '/users/2.xml', {}, credentials('admin')
+    assert_response :success
+    assert_tag 'user', :child => {:tag => 'status', :content => User.find(1).status.to_s}
+  end
+
   context "POST /users" do
     context "with valid parameters" do
       setup do