summaryrefslogtreecommitdiffstats
path: root/app/views/groups/show.api.rsb
blob: 764bdcedaca4d0231ea4f98ba1b09501f7b43dbe (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
api.group do
  api.id         @group.id
  api.name       @group.lastname

  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

  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