Commit 84cf8509 authored by Julian Pustkuchen's avatar Julian Pustkuchen
Browse files

Issue #3271065 by Anybody: Move view admin_media_slideshow_overview into module (config/install)

parent e30967ff
Loading
Loading
Loading
Loading
+34 −0
Original line number Diff line number Diff line
@@ -31,3 +31,37 @@ function drowl_header_slides_update_8002(&$sandbox) {
    return 'Removing "status" filter from view "drowl_headerslides_slideshow_ref" > "default" display FAILED. View "drowl_headerslides_slideshow_ref" could not be found.';
  }
}

/**
 * Remove old view 'admin_media_slideshow_overview' and import new view
 * 'drowl_header_slides_admin_media_slideshow' instead.
 */
function drowl_header_slides_update_8003(&$sandbox) {
  $message = '';
  $old_view_id = 'admin_media_slideshow_overview';
  // Only delete and import, if the old view is existing.
  if (\Drupal::moduleHandler()->moduleExists('views') && View::load($old_view_id)) {
    // Delete the old view
    $oldViewConfig = \Drupal::service('config.factory')->getEditable('views.view.' . $old_view_id);
    $oldViewConfig->delete();
    $message .= 'The old "' . $old_view_id . '" view has been deleted.';
  } else {
    $message .= 'Not deleting the old "' . $old_view_id . '" view, since it does not exists.';
  }

  $message .= "\n";

  // Only create if the redirect view doesn't exist and views is enabled.
  $new_view_id = 'drowl_header_slides_admin_media_slideshow';
  if (\Drupal::moduleHandler()->moduleExists('views') && !View::load($new_view_id)) {
    $config_path = \Drupal::service('extension.list.module')->getPath('drowl_header_slides') . '/config/install/views.view.' . $new_view_id .'.yml';
    $data = Yaml::parseFile($config_path);
    \Drupal::configFactory()->getEditable('views.view.' . $new_view_id)->setData($data)->save(TRUE);
    $message .= 'The new "' . $new_view_id . '" view has been created.';
  }
  else {
    $message .= 'Not creating the "' . $new_view_id . '" view, since it already exists.';
  }
  return $message;

}