From 283d9f907b0bd0479862f76335696b0fb6a2433e Mon Sep 17 00:00:00 2001 From: damiankloip <damian@damoweb.co.uk> Date: Sun, 26 Aug 2012 16:54:37 +0200 Subject: [PATCH] Added attachDisplays() method to ViewStorageController --- lib/Drupal/views/ViewStorageController.php | 26 ++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/lib/Drupal/views/ViewStorageController.php b/lib/Drupal/views/ViewStorageController.php index 305ffa5cf5ae..702de479fe71 100644 --- a/lib/Drupal/views/ViewStorageController.php +++ b/lib/Drupal/views/ViewStorageController.php @@ -17,10 +17,7 @@ class ViewStorageController extends ConfigStorageController { */ protected function attachLoad(&$queried_entities, $revision_id = FALSE) { foreach ($queried_entities as $id => $entity) { - foreach ($entity->display as $key => $options) { - // Create a ViewsDisplay object using the display options. - $entity->display[$key] = new ViewsDisplay($options); - } + $this->attachDisplays($entity); } } @@ -97,4 +94,25 @@ public function save(StorableInterface $entity) { return $return; } + /** + * Overrides Drupal\config\ConfigStorageController::create(). + */ + public function create(array $values) { + $entity = parent::create($values); + $this->attachDisplays($entity); + return $entity; + } + + /** + * @todo + */ + protected function attachDisplays(&$entity) { + if (isset($entity->display) && is_array($entity->display)) { + foreach ($entity->display as $key => $options) { + // Create a ViewsDisplay object using the display options. + $entity->display[$key] = new ViewsDisplay($options); + } + } + } + } \ No newline at end of file -- GitLab