You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

show.api.rsb 1.9KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. api.user do
  2. api.id @user.id
  3. api.login @user.login
  4. api.admin @user.admin? if User.current.admin? || (User.current == @user)
  5. api.firstname @user.firstname
  6. api.lastname @user.lastname
  7. api.mail @user.mail if User.current.admin? || !@user.pref.hide_mail
  8. api.created_on @user.created_on
  9. api.updated_on @user.updated_on
  10. api.last_login_on @user.last_login_on
  11. api.passwd_changed_on @user.passwd_changed_on
  12. api.avatar_url gravatar_url(@user.mail, {rating: nil, size: nil, default: Setting.gravatar_default}) if @user.mail && Setting.gravatar_enabled?
  13. api.twofa_scheme @user.twofa_scheme if User.current.admin? || (User.current == @user)
  14. api.api_key @user.api_key if User.current.admin? || (User.current == @user)
  15. api.status @user.status if User.current.admin?
  16. render_api_custom_values @user.visible_custom_field_values, api
  17. api.auth_source do
  18. api.id @user.auth_source.id
  19. api.name @user.auth_source.name
  20. end if User.current.admin? && include_in_api_response?('auth_source') && @user.auth_source.present?
  21. api.array :groups do |groups|
  22. @user.groups.each do |group|
  23. api.group :id => group.id, :name => group.name
  24. end
  25. end if User.current.admin? && include_in_api_response?('groups')
  26. api.array :memberships do
  27. @memberships.each do |membership|
  28. api.membership do
  29. api.id membership.id
  30. api.project :id => membership.project.id, :name => membership.project.name
  31. api.array :roles do
  32. membership.member_roles.each do |member_role|
  33. if member_role.role
  34. attrs = {:id => member_role.role.id, :name => member_role.role.name}
  35. attrs.merge!(:inherited => true) if member_role.inherited_from.present?
  36. api.role attrs
  37. end
  38. end
  39. end
  40. end if membership.project
  41. end
  42. end if include_in_api_response?('memberships') && @memberships
  43. end