Method: GoodData::Project.dashboard_user_groups

Defined in:
lib/gooddata/models/project.rb

.dashboard_user_groups(user_groups, dashboard) ⇒ Object



475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
# File 'lib/gooddata/models/project.rb', line 475

def dashboard_user_groups(user_groups, dashboard)
  group_dashboards = []
  dashboard_grantees = dashboard.grantees['granteeURIs']['items'].select { |item| item['aclEntryURI']['grantee'].include?('/usergroups/') }

  dashboard_grantees.each do |dashboard_grantee|
    permission = dashboard_grantee['aclEntryURI']['permission']
    group_id = dashboard_grantee['aclEntryURI']['grantee'].split('/').last
    user_group = user_groups.select { |group| group.links['self'].split('/').last == group_id }.first
    next unless user_group

    group_dashboards << {
      name: user_group.name,
      user_group: user_group,
      permission: permission
    }
  end
  group_dashboards
end