public function ConfigSubscriber::onBaseFieldDelete in Field Encryption 3.0.x
React to a base field being deleted.
Parameters
\Drupal\Core\Field\FieldStorageDefinitionEvent $event: The field storage event.
File
- src/
EventSubscriber/ ConfigSubscriber.php, line 193
Class
- ConfigSubscriber
- Updates existing data when field encryption settings are updated.
Namespace
Drupal\field_encrypt\EventSubscriberCode
public function onBaseFieldDelete(FieldStorageDefinitionEvent $event) {
// @todo as this makes a configuration change should we disable during
// configuration import?
$field = $event
->getFieldStorageDefinition();
if ($event
->getFieldStorageDefinition()
->isBaseField()) {
/** @var \Drupal\field_encrypt\Entity\FieldEncryptEntityType $field_encrypt_settings */
$field_encrypt_settings = $this->entityTypeManager
->getStorage('field_encrypt_entity_type')
->load($field
->getTargetEntityTypeId());
if ($field_encrypt_settings && $field_encrypt_settings
->hasBaseField($field
->getName())) {
$field_encrypt_settings
->removeBaseField($field
->getName());
empty($field_encrypt_settings
->getBaseFields()) ? $field_encrypt_settings
->delete() : $field_encrypt_settings
->save();
}
}
}