2010-12-03 14:28:44 +03:00
|
|
|
api.user do
|
|
|
|
api.id @user.id
|
2013-02-18 21:24:54 +04:00
|
|
|
api.login @user.login if User.current.admin? || (User.current == @user)
|
2010-12-03 14:28:44 +03:00
|
|
|
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
|
2013-03-01 20:32:30 +04:00
|
|
|
api.api_key @user.api_key if User.current.admin? || (User.current == @user)
|
2011-09-16 18:10:40 +04:00
|
|
|
|
2010-12-10 13:12:19 +03:00
|
|
|
render_api_custom_values @user.visible_custom_field_values, api
|
2011-09-16 18:10:40 +04:00
|
|
|
|
2012-06-03 14:40:32 +04:00
|
|
|
api.array :groups do |groups|
|
|
|
|
@user.groups.each do |group|
|
|
|
|
api.group :id => group.id, :name => group.name
|
|
|
|
end
|
|
|
|
end if User.current.admin? && include_in_api_response?('groups')
|
|
|
|
|
2010-12-03 14:28:44 +03:00
|
|
|
api.array :memberships do
|
|
|
|
@memberships.each do |membership|
|
|
|
|
api.membership do
|
2012-02-06 20:32:50 +04:00
|
|
|
api.id membership.id
|
2010-12-03 14:28:44 +03:00
|
|
|
api.project :id => membership.project.id, :name => membership.project.name
|
|
|
|
api.array :roles do
|
2012-02-06 20:32:50 +04:00
|
|
|
membership.member_roles.each do |member_role|
|
|
|
|
if member_role.role
|
|
|
|
attrs = {:id => member_role.role.id, :name => member_role.role.name}
|
|
|
|
attrs.merge!(:inherited => true) if member_role.inherited_from.present?
|
|
|
|
api.role attrs
|
|
|
|
end
|
2010-12-03 14:28:44 +03:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end if membership.project
|
|
|
|
end
|
2010-12-11 13:19:11 +03:00
|
|
|
end if include_in_api_response?('memberships') && @memberships
|
2010-12-03 14:28:44 +03:00
|
|
|
end
|