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
