function CheckpointStorage::onConfigRename

Same name and namespace in other branches
  1. 11.x core/lib/Drupal/Core/Config/Checkpoint/CheckpointStorage.php \Drupal\Core\Config\Checkpoint\CheckpointStorage::onConfigRename()

Updates checkpoint when configuration is saved.

Parameters

\Drupal\Core\Config\ConfigRenameEvent $event: The configuration event.

File

core/lib/Drupal/Core/Config/Checkpoint/CheckpointStorage.php, line 388

Class

CheckpointStorage
Provides a config storage that can make checkpoints.

Namespace

Drupal\Core\Config\Checkpoint

Code

public function onConfigRename(ConfigRenameEvent $event) : void {
  $active_checkpoint = $this->checkpoints
    ->getActiveCheckpoint();
  if ($active_checkpoint === NULL) {
    return;
  }
  $collection = $event->getConfig()
    ->getStorage()
    ->getCollectionName();
  $this->storeCollectionName($collection);
  $key_value = $this->getKeyValue($active_checkpoint->id, $collection);
  $old_name = $event->getOldName();
  // If we have not yet stored a checkpoint for this configuration, store a
  // complete copy of the original configuration. Note that renames do not
  // change data but storing the complete data allows
  // \Drupal\Core\Config\ConfigImporter to track renames using UUIDs.
  if ($key_value->get($old_name) === NULL) {
    $key_value->set($old_name, $this->getOriginalConfig($event->getConfig()));
  }
  // Record that the new name did not exist prior to the checkpoint.
  $new_name = $event->getConfig()
    ->getName();
  if ($key_value->get($new_name) === NULL) {
    $key_value->set($new_name, FALSE);
  }
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.