summaryrefslogtreecommitdiffstats
path: root/app/views/groups/show.api.rsb
blob: 15211f2cf66e86d7fc03746e9242029d775c7afa (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
30
31
api.group do
  api.id         @group.id
  api.name       @group.lastname
  api.builtin    @group.builtin_type if @group.builtin_type

  render_api_custom_values @group.visible_custom_field_values, api

  api.array :users do
    @group.users.each do |user|
      api.user :id => user.id, :name => user.name
    end
  end if include_in_api_response?('users') && !@group.builtin?

  api.array :memberships do
    @group.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')
end