Commit 8808a9c3 authored by ramya balasubramanian's avatar ramya balasubramanian Committed by SUDISHTH KUMAR
Browse files

Issue #2947426 by darrick, Ramya Balasubramanian, sudishth: Rename "Date range...

Issue #2947426 by darrick, Ramya Balasubramanian, sudishth: Rename "Date range (without time)" formatter
parent 82e3cfd6
Loading
Loading
Loading
Loading
+48 −0
Original line number Diff line number Diff line
<?php

/**
 * @file
 * Provides updates for Date Range Formatter module.
 */

/**
 * Remove single and single_all_day settings from view and entity_view_display
 * configurations.
 */
function date_range_formatter_update_8703() {

  $dependents = \Drupal::service('config.manager')->findConfigEntityDependentsAsEntities('module', ['date_range_formatter']);

  foreach ($dependents as $dependent) {
    if ($dependent instanceof \Drupal\views\Entity\View) {
      $displays = $dependent->get('display');

      foreach ($displays as $name => $display) {
        if (array_key_exists('display_options', $display) && array_key_exists('fields', $display['display_options'])) {
          foreach ($display['display_options']['fields'] as $field_name => $field) {
            if ($field['type'] == 'date_range_without_time') {
              unset($field['settings']['single']);
              unset($field['settings']['single_all_day']);
              $displays[$name]['display_options']['fields'][$field_name] = $field;
              $dependent->set('displays', $displays);
              $dependent->save();
            }
          }
        }
      }
    }

    if ($dependent instanceof \Drupal\Core\Entity\Entity\EntityViewDisplay) {
      $content = $dependent->get('content');
      foreach ($content as $field_name => $field) {
        if ($field['type'] == 'date_range_without_time') {
          unset($field['settings']['single']);
          unset($field['settings']['single_all_day']);
          $content[$field_name] = $field;
          $dependent->set('content', $content);
          $dependent->save(TRUE);
        }
      }
    }
  }
}