function content_moderation_post_update_set_views_filter_latest_translation_affected_revision

Set the filter on the moderation view to be the latest translation affected.

File

core/modules/content_moderation/content_moderation.post_update.php, line 119

Code

function content_moderation_post_update_set_views_filter_latest_translation_affected_revision(&$sandbox) {
  $original_plugin_name = 'latest_revision';
  $new_plugin_name = 'latest_translation_affected_revision';
  // Check that views is installed and the moderated content view exists.
  if (\Drupal::moduleHandler()->moduleExists('views') && ($view = View::load('moderated_content'))) {
    $display =& $view->getDisplay('default');
    if (!isset($display['display_options']['filters'][$original_plugin_name])) {
      return;
    }
    $translation_affected_filter = [
      'id' => $new_plugin_name,
      'field' => $new_plugin_name,
      'plugin_id' => $new_plugin_name,
    ] + $display['display_options']['filters'][$original_plugin_name];
    $display['display_options']['filters'] = [
      $new_plugin_name => $translation_affected_filter,
    ] + $display['display_options']['filters'];
    unset($display['display_options']['filters'][$original_plugin_name]);
    $view->save();
  }
}

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