public function LogType::postSave in Log entity 2.x
Same name and namespace in other branches
- 8 src/Entity/LogType.php \Drupal\log\Entity\LogType::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/ LogType.php, line 125
Class
- LogType
- Defines the Log type entity.
Namespace
Drupal\log\EntityCode
public function postSave(EntityStorageInterface $storage, $update = TRUE) {
parent::postSave($storage, $update);
// If the log type id changed, update all existing logs of that type.
if ($update && $this
->getOriginalId() != $this
->id()) {
$update_count = \Drupal::entityTypeManager()
->getStorage('log')
->updateType($this
->getOriginalId(), $this
->id());
if ($update_count) {
\Drupal::messenger()
->addMessage(\Drupal::translation()
->formatPlural($update_count, 'Changed the log type of 1 post from %old-type to %type.', 'Changed the log type of @count posts from %old-type to %type.', [
'%old-type' => $this
->getOriginalId(),
'%type' => $this
->id(),
]));
}
}
if ($update) {
// Clear the cached field definitions as some settings affect the field
// definitions.
\Drupal::entityTypeManager()
->clearCachedDefinitions();
\Drupal::service('entity_field.manager')
->clearCachedFieldDefinitions();
}
}