You are here

public function GroupContentType::postSave in Group 2.0.x

Same name and namespace in other branches
  1. 8 src/Entity/GroupContentType.php \Drupal\group\Entity\GroupContentType::postSave()

Acts on a saved entity before the insert or update hook is invoked.

Used after the entity is saved, but before invoking the insert or update hook. Note that in case of translatable content entities this callback is only fired on their current translation. It is up to the developer to iterate over all translations if needed.

Parameters

\Drupal\Core\Entity\EntityStorageInterface $storage: The entity storage object.

bool $update: TRUE if the entity has been updated, or FALSE if it has been inserted.

Overrides ConfigEntityBundleBase::postSave

File

src/Entity/GroupContentType.php, line 201

Class

GroupContentType
Defines the Group content type configuration entity.

Namespace

Drupal\group\Entity

Code

public function postSave(EntityStorageInterface $storage, $update = TRUE) {
  parent::postSave($storage, $update);
  if (!$update) {

    // When a new GroupContentType is saved, we clear the views data cache to
    // make sure that all of the views data which relies on group content
    // types is up to date.
    if (\Drupal::moduleHandler()
      ->moduleExists('views')) {
      \Drupal::service('views.views_data')
        ->clear();
    }

    // Run the post install tasks on the plugin.
    $post_install_handler = $this
      ->getGroupRelationManager()
      ->getPostInstallHandler($this
      ->getRelationPluginId());
    $task_arguments = [
      $this,
      \Drupal::isConfigSyncing(),
    ];
    foreach ($post_install_handler
      ->getInstallTasks() as $task) {
      call_user_func_array($task, $task_arguments);
    }

    // We need to reset the plugin ID map cache as it will be out of date now.
    $this
      ->getGroupRelationManager()
      ->clearCachedPluginMaps();
  }
}