function apigee_edge_teams_update_8702 in Apigee Edge 8
Install team_invitation entity, dependencies and config.
File
- modules/
apigee_edge_teams/ apigee_edge_teams.install, line 99 - Copyright 2019 Google Inc.
Code
function apigee_edge_teams_update_8702() {
// Install 'team_invitation' entity.
\Drupal::entityTypeManager()
->clearCachedDefinitions();
$entity_definition_update_manager = \Drupal::entityDefinitionUpdateManager();
$entity_definition_update_manager
->installEntityType(\Drupal::entityTypeManager()
->getDefinition('team_invitation'));
// Install 'views' module.
\Drupal::service('module_installer')
->install([
'views',
]);
// Install new config.
$settings_to_sync = [
'team_invitation_expiry_days',
'team_invitation_email_existing',
'team_invitation_email_new',
];
/** @var \Drupal\Core\Config\StorageInterface $config_storage */
$config_storage = \Drupal::service('config.storage');
$module_path = drupal_get_path('module', 'apigee_edge_teams');
$source = new FileStorage("{$module_path}/config/install");
$new_team_settings = $source
->read('apigee_edge_teams.team_settings');
$team_settings = $config_storage
->read('apigee_edge_teams.team_settings');
foreach ($settings_to_sync as $setting) {
$team_settings[$setting] = $new_team_settings[$setting];
}
$config_storage
->write('apigee_edge_teams.team_settings', $team_settings);
$optional = new FileStorage("{$module_path}/config/optional");
$team_invitations_view = $optional
->read('views.view.team_invitations');
$config_storage
->write('views.view.team_invitations', $team_invitations_view);
}