You are here

function apigee_edge_teams_test_apigee_edge_teams_developer_permissions_by_team_alter in Apigee Edge 8

Implements hook_apigee_edge_teams_developer_permissions_by_team_alter().

Grant all test permissions to a member of team independently from its current team roles within the team.

File

modules/apigee_edge_teams/tests/modules/apigee_edge_teams_test/apigee_edge_teams_test.module, line 52
Copyright 2018 Google Inc.

Code

function apigee_edge_teams_test_apigee_edge_teams_developer_permissions_by_team_alter(array &$permissions, TeamInterface $team, AccountInterface $account) {
  if ($account
    ->isAnonymous()) {

    // Anonymous user can not be member of a team.
    return;
  }

  // Grant every permission to the user if it has a special username.
  if ($account
    ->getAccountName() === APIGEE_EDGE_TEAMS_TEST_SPECIAL_USERNAME_WITH_ALL_TEAM_PERMISSIONS) {

    /** @var \Drupal\apigee_edge_teams\TeamPermissionHandlerInterface $team_permission_handler */
    $team_permission_handler = \Drupal::service('apigee_edge_teams.team_permissions');
    foreach ($team_permission_handler
      ->getPermissions() as $permission) {
      $permissions[] = $permission
        ->getName();
    }
  }
}