summaryrefslogtreecommitdiffstats
path: root/app/views/users/show.api.rsb
blob: b7d23ca973a1dd8448bd489ffa60b97e0ee4fe24 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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.id membership.id
        api.project :id => membership.project.id, :name => membership.project.name
        api.array :roles do
          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 
          end
        end
      end if membership.project
    end
  end if include_in_api_response?('memberships') && @memberships
end