You are here

function entity_print_update_8102 in Entity Print 8.2

Upgrade from the 1.x to the 2.x branch.

File

./entity_print.install, line 82
Entity Print installation file.

Code

function entity_print_update_8102() {

  // Install the new entity definitions.
  \Drupal::entityDefinitionUpdateManager()
    ->installEntityType(new ConfigEntityType([
    'id' => 'print_engine',
    'label' => new TranslatableMarkup('Print Engine'),
    'config_prefix' => 'print_engine',
    'admin_permission' => 'administer entity print',
    'entity_keys' => [
      'id' => 'id',
    ],
    'config_export' => [
      'id',
      'settings',
    ],
  ]));
  $config = \Drupal::configFactory()
    ->getEditable('entity_print.settings');
  $engine = $config
    ->get('pdf_engine');
  $config
    ->set('print_engines.pdf_engine', $engine)
    ->clear('pdf_engine')
    ->save(TRUE);

  // Copy settings across for the selected PDF engine and delete the old object.
  if ($old_config = \Drupal::configFactory()
    ->getEditable('entity_print.pdf_engine.' . $engine)) {
    $new_config = \Drupal::configFactory()
      ->getEditable('entity_print.print_engine.' . $engine);
    $new_config
      ->setData($old_config
      ->getRawData())
      ->save(TRUE);
    $old_config
      ->delete();
  }

  // Update the VBO action.
  $old_config = \Drupal::configFactory()
    ->getEditable('system.action.entity_print_download_action');
  $new_config = \Drupal::configFactory()
    ->getEditable('system.action.entity_print_pdf_download_action');
  $new_config
    ->setData($old_config
    ->getRawData())
    ->set('id', 'entity_print_pdf_download_action')
    ->set('plugin', 'entity_print_pdf_download_action')
    ->save(TRUE);
  $old_config
    ->delete();
}