From b9edf92b976329f38366242219440308305fa0bd Mon Sep 17 00:00:00 2001 From: Nathaniel Catchpole <catch@35733.no-reply.drupal.org> Date: Fri, 2 Feb 2018 12:56:57 +0000 Subject: [PATCH] Issue #2937945 by yo30, kim.pepper, dawehner, voleger, larowlan: Add messenger to ControllerBase and FormBase --- .../Drupal/Core/Controller/ControllerBase.php | 2 + core/lib/Drupal/Core/Form/FormBase.php | 2 + .../Drupal/Core/Messenger/MessengerTrait.php | 40 +++++++++++++++++++ .../src/Controller/AggregatorController.php | 2 +- 4 files changed, 45 insertions(+), 1 deletion(-) create mode 100644 core/lib/Drupal/Core/Messenger/MessengerTrait.php diff --git a/core/lib/Drupal/Core/Controller/ControllerBase.php b/core/lib/Drupal/Core/Controller/ControllerBase.php index c0d0cdd964b1..241936753a7a 100644 --- a/core/lib/Drupal/Core/Controller/ControllerBase.php +++ b/core/lib/Drupal/Core/Controller/ControllerBase.php @@ -9,6 +9,7 @@ use Drupal\Core\Routing\UrlGeneratorTrait; use Drupal\Core\StringTranslation\StringTranslationTrait; use Symfony\Component\DependencyInjection\ContainerInterface; +use Drupal\Core\Messenger\MessengerTrait; /** * Utility base class for thin controllers. @@ -35,6 +36,7 @@ abstract class ControllerBase implements ContainerInjectionInterface { use LinkGeneratorTrait; use LoggerChannelTrait; + use MessengerTrait; use RedirectDestinationTrait; use StringTranslationTrait; use UrlGeneratorTrait; diff --git a/core/lib/Drupal/Core/Form/FormBase.php b/core/lib/Drupal/Core/Form/FormBase.php index 02a1c3940c40..165cb3a8f0cf 100644 --- a/core/lib/Drupal/Core/Form/FormBase.php +++ b/core/lib/Drupal/Core/Form/FormBase.php @@ -12,6 +12,7 @@ use Drupal\Core\StringTranslation\StringTranslationTrait; use Symfony\Component\DependencyInjection\ContainerInterface; use Symfony\Component\HttpFoundation\RequestStack; +use Drupal\Core\Messenger\MessengerTrait; /** * Provides a base class for forms. @@ -45,6 +46,7 @@ abstract class FormBase implements FormInterface, ContainerInjectionInterface { use DependencySerializationTrait; use LinkGeneratorTrait; use LoggerChannelTrait; + use MessengerTrait; use RedirectDestinationTrait; use StringTranslationTrait; use UrlGeneratorTrait; diff --git a/core/lib/Drupal/Core/Messenger/MessengerTrait.php b/core/lib/Drupal/Core/Messenger/MessengerTrait.php new file mode 100644 index 000000000000..1454243b8fd7 --- /dev/null +++ b/core/lib/Drupal/Core/Messenger/MessengerTrait.php @@ -0,0 +1,40 @@ +<?php + +namespace Drupal\Core\Messenger; + +/** + * Provides a trait for the messenger service. + */ +trait MessengerTrait { + + /** + * The messenger. + * + * @var \Drupal\Core\Messenger\MessengerInterface + */ + protected $messenger; + + /** + * Sets the messenger. + * + * @param \Drupal\Core\Messenger\MessengerInterface $messenger + * The messenger. + */ + public function setMessenger(MessengerInterface $messenger) { + $this->messenger = $messenger; + } + + /** + * Gets the messenger. + * + * @return \Drupal\Core\Messenger\MessengerInterface + * The messenger. + */ + public function messenger() { + if (!isset($this->messenger)) { + $this->messenger = \Drupal::messenger(); + } + return $this->messenger; + } + +} diff --git a/core/modules/aggregator/src/Controller/AggregatorController.php b/core/modules/aggregator/src/Controller/AggregatorController.php index b459b196ccbd..7fd0743881f1 100644 --- a/core/modules/aggregator/src/Controller/AggregatorController.php +++ b/core/modules/aggregator/src/Controller/AggregatorController.php @@ -93,7 +93,7 @@ public function feedRefresh(FeedInterface $aggregator_feed) { $message = $aggregator_feed->refreshItems() ? $this->t('There is new syndicated content from %site.', ['%site' => $aggregator_feed->label()]) : $this->t('There is no new syndicated content from %site.', ['%site' => $aggregator_feed->label()]); - drupal_set_message($message); + $this->messenger()->addStatus($message); return $this->redirect('aggregator.admin_overview'); } -- GitLab