function View::preSave

Same name in other branches
  1. 9 core/modules/views/src/Entity/View.php \Drupal\views\Entity\View::preSave()
  2. 10 core/modules/views/src/Entity/View.php \Drupal\views\Entity\View::preSave()
  3. 11.x core/modules/views/src/Entity/View.php \Drupal\views\Entity\View::preSave()

Overrides ConfigEntityBase::preSave

File

core/modules/views/src/Entity/View.php, line 293

Class

View
Defines a View configuration entity class.

Namespace

Drupal\views\Entity

Code

public function preSave(EntityStorageInterface $storage) {
    parent::preSave($storage);
    $displays = $this->get('display');
    // @todo Remove this line and support for pre-8.3 table names in Drupal 9.
    // @see https://www.drupal.org/project/drupal/issues/3069405 .
    $this->fixTableNames($displays);
    // Sort the displays.
    ksort($displays);
    $this->set('display', [
        'default' => $displays['default'],
    ] + $displays);
    // Calculating the cacheability metadata is only needed when the view is
    // saved through the UI or API. It should not be done when we are syncing
    // configuration or installing modules.
    if (!$this->isSyncing() && !$this->hasTrustedData()) {
        $this->addCacheMetadata();
    }
}

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