Jean-Philippe Lang 5f57bceabb Makes some attributes optional in API response to get faster/lightweight responses.
These attributes are not required for common uses case (eg. updating an object). They can be requested in the reponse using the 'include' parameter. Example GET /issues/1.xml?include=journals. The list of attributes that can be included in responses will be documented in the wiki.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@4486 e93f8b46-1217-0410-a6f0-8f06a7374b81
2010-12-11 10:19:11 +00:00

25 lines
811 B
Plaintext

api.user do
api.id @user.id
api.login @user.login if User.current.admin?
api.firstname @user.firstname
api.lastname @user.lastname
api.mail @user.mail if User.current.admin? || !@user.pref.hide_mail
api.created_on @user.created_on
api.last_login_on @user.last_login_on
render_api_custom_values @user.visible_custom_field_values, api
api.array :memberships do
@memberships.each do |membership|
api.membership do
api.project :id => membership.project.id, :name => membership.project.name
api.array :roles do
membership.roles.each do |role|
api.role :id => role.id, :name => role.name
end
end
end if membership.project
end
end if include_in_api_response?('memberships') && @memberships
end