From fea91b03a577086196fb8307223df979ee528902 Mon Sep 17 00:00:00 2001 From: project update bot <66574-Project-Update-Bot@users.noreply.drupalcode.org> Date: Mon, 17 Feb 2025 15:36:10 +0000 Subject: [PATCH] Issue #3483664: Automated Drupal 11 compatibility fixes for message_subscribe --- message_subscribe.info.yml | 2 +- .../views.view.subscribe_node_email.yml | 1 - ...ews.view.subscribe_taxonomy_term_email.yml | 1 - .../views.view.subscribe_user_email.yml | 1 - .../message_subscribe_email.info.yml | 2 +- .../message_subscribe_email.module | 2 +- .../src/EventSubscriber/FlagEvents.php | 2 +- .../message_subscribe_example.info.yml | 2 +- .../optional/views.view.subscribe_node.yml | 3 +- .../views.view.subscribe_taxonomy_term.yml | 1 - .../optional/views.view.subscribe_user.yml | 3 +- .../message_subscribe_ui.info.yml | 2 +- .../message_subscribe_ui.services.yml | 4 +++ .../src/Controller/SubscriptionController.php | 29 +++++++++++++++---- .../src/Functional/SubscriptionsBlockTest.php | 4 +-- src/Subscribers.php | 2 +- src/SubscribersInterface.php | 2 +- .../message_subscribe_test.info.yml | 2 +- .../message_subscribe_test.module | 5 ++-- tests/src/Kernel/ContextTest.php | 4 +-- tests/src/Kernel/MessageSubscribeTestBase.php | 1 - 21 files changed, 46 insertions(+), 29 deletions(-) create mode 100644 message_subscribe_ui/message_subscribe_ui.services.yml diff --git a/message_subscribe.info.yml b/message_subscribe.info.yml index cef3d29..aeee937 100644 --- a/message_subscribe.info.yml +++ b/message_subscribe.info.yml @@ -1,6 +1,6 @@ name: 'Message Subscribe' description: 'Subscribe API for the Message and Message notify modules.' -core_version_requirement: ^9 || ^10 +core_version_requirement: ^9 || ^10 || ^11 package: Message type: module configure: message_subscribe.admin_settings diff --git a/message_subscribe_email/config/optional/views.view.subscribe_node_email.yml b/message_subscribe_email/config/optional/views.view.subscribe_node_email.yml index 345167a..8b8814f 100644 --- a/message_subscribe_email/config/optional/views.view.subscribe_node_email.yml +++ b/message_subscribe_email/config/optional/views.view.subscribe_node_email.yml @@ -330,7 +330,6 @@ display: default_argument_type: fixed default_argument_options: argument: '' - default_argument_skip_url: false summary_options: base_path: '' count: true diff --git a/message_subscribe_email/config/optional/views.view.subscribe_taxonomy_term_email.yml b/message_subscribe_email/config/optional/views.view.subscribe_taxonomy_term_email.yml index 3be04e6..13c06e9 100644 --- a/message_subscribe_email/config/optional/views.view.subscribe_taxonomy_term_email.yml +++ b/message_subscribe_email/config/optional/views.view.subscribe_taxonomy_term_email.yml @@ -303,7 +303,6 @@ display: default_argument_type: fixed default_argument_options: argument: '' - default_argument_skip_url: false summary_options: base_path: '' count: true diff --git a/message_subscribe_email/config/optional/views.view.subscribe_user_email.yml b/message_subscribe_email/config/optional/views.view.subscribe_user_email.yml index 1598039..de69924 100644 --- a/message_subscribe_email/config/optional/views.view.subscribe_user_email.yml +++ b/message_subscribe_email/config/optional/views.view.subscribe_user_email.yml @@ -311,7 +311,6 @@ display: default_argument_type: fixed default_argument_options: argument: '' - default_argument_skip_url: false summary_options: base_path: '' count: true diff --git a/message_subscribe_email/message_subscribe_email.info.yml b/message_subscribe_email/message_subscribe_email.info.yml index 535e9ec..3dc33bf 100644 --- a/message_subscribe_email/message_subscribe_email.info.yml +++ b/message_subscribe_email/message_subscribe_email.info.yml @@ -1,6 +1,6 @@ name: 'Message subscribe email' description: 'Provides email functionality for message subscribe.' -core_version_requirement: ^9 || ^10 +core_version_requirement: ^9 || ^10 || ^11 package: Message dependencies: - message_subscribe:message_subscribe_ui diff --git a/message_subscribe_email/message_subscribe_email.module b/message_subscribe_email/message_subscribe_email.module index 025b8bd..230e066 100644 --- a/message_subscribe_email/message_subscribe_email.module +++ b/message_subscribe_email/message_subscribe_email.module @@ -14,7 +14,7 @@ use Drupal\flag\FlagInterface; /** * Implements hook_flag_action_access(). */ -function message_subscribe_email_flag_action_access($action, FlagInterface $flag, AccountInterface $account, EntityInterface $flaggable = NULL) { +function message_subscribe_email_flag_action_access($action, FlagInterface $flag, AccountInterface $account, ?EntityInterface $flaggable = NULL) { // The 'unflag' action is always allowed here, so only check 'flag'. $prefix = \Drupal::config('message_subscribe_email.settings')->get('flag_prefix') . '_'; if ($action === 'flag' && $flaggable && $flaggable->id() && strpos($flag->id(), $prefix) === 0) { diff --git a/message_subscribe_email/src/EventSubscriber/FlagEvents.php b/message_subscribe_email/src/EventSubscriber/FlagEvents.php index 2904c0d..abda095 100644 --- a/message_subscribe_email/src/EventSubscriber/FlagEvents.php +++ b/message_subscribe_email/src/EventSubscriber/FlagEvents.php @@ -46,7 +46,7 @@ class FlagEvents implements EventSubscriberInterface { /** * {@inheritdoc} */ - public static function getSubscribedEvents() { + public static function getSubscribedEvents(): array { $events[Flag::ENTITY_FLAGGED] = ['onFlag', 50]; $events[Flag::ENTITY_UNFLAGGED] = ['onUnflag', 50]; return $events; diff --git a/message_subscribe_example/message_subscribe_example.info.yml b/message_subscribe_example/message_subscribe_example.info.yml index 8ea071e..e44e6bf 100644 --- a/message_subscribe_example/message_subscribe_example.info.yml +++ b/message_subscribe_example/message_subscribe_example.info.yml @@ -1,7 +1,7 @@ name: Message Subscribe Example type: module description: "Comprehensive example of Message, Message Notify, and Message Subscribe." -core_version_requirement: ^9 || ^10 +core_version_requirement: ^9 || ^10 || ^11 package: Message dependencies: - message:message diff --git a/message_subscribe_ui/config/optional/views.view.subscribe_node.yml b/message_subscribe_ui/config/optional/views.view.subscribe_node.yml index 1d00b50..37f6e12 100644 --- a/message_subscribe_ui/config/optional/views.view.subscribe_node.yml +++ b/message_subscribe_ui/config/optional/views.view.subscribe_node.yml @@ -201,7 +201,7 @@ display: plugin_id: flag_link filters: status: - value: '1' + value: '1' table: node_field_data field: status plugin_id: boolean @@ -268,7 +268,6 @@ display: default_argument_type: fixed default_argument_options: argument: '' - default_argument_skip_url: false summary_options: base_path: '' count: true diff --git a/message_subscribe_ui/config/optional/views.view.subscribe_taxonomy_term.yml b/message_subscribe_ui/config/optional/views.view.subscribe_taxonomy_term.yml index 18213fe..f1573a1 100644 --- a/message_subscribe_ui/config/optional/views.view.subscribe_taxonomy_term.yml +++ b/message_subscribe_ui/config/optional/views.view.subscribe_taxonomy_term.yml @@ -241,7 +241,6 @@ display: default_argument_type: fixed default_argument_options: argument: '' - default_argument_skip_url: false summary_options: base_path: '' count: true diff --git a/message_subscribe_ui/config/optional/views.view.subscribe_user.yml b/message_subscribe_ui/config/optional/views.view.subscribe_user.yml index d71e647..83ec71d 100644 --- a/message_subscribe_ui/config/optional/views.view.subscribe_user.yml +++ b/message_subscribe_ui/config/optional/views.view.subscribe_user.yml @@ -191,7 +191,7 @@ display: plugin_id: flag_link filters: status: - value: '1' + value: '1' table: users_field_data field: status plugin_id: boolean @@ -249,7 +249,6 @@ display: default_argument_type: fixed default_argument_options: argument: '' - default_argument_skip_url: false summary_options: base_path: '' count: true diff --git a/message_subscribe_ui/message_subscribe_ui.info.yml b/message_subscribe_ui/message_subscribe_ui.info.yml index 1961254..74f62b8 100644 --- a/message_subscribe_ui/message_subscribe_ui.info.yml +++ b/message_subscribe_ui/message_subscribe_ui.info.yml @@ -1,6 +1,6 @@ name: 'Message subscribe UI' description: 'Message subscribe UI' -core_version_requirement: ^9 || ^10 +core_version_requirement: ^9 || ^10 || ^11 package: Message dependencies: - message_subscribe:message_subscribe diff --git a/message_subscribe_ui/message_subscribe_ui.services.yml b/message_subscribe_ui/message_subscribe_ui.services.yml new file mode 100644 index 0000000..db6d02f --- /dev/null +++ b/message_subscribe_ui/message_subscribe_ui.services.yml @@ -0,0 +1,4 @@ +services: + logger.channel.message_subscribe_ui: + parent: logger.channel_base + arguments: ['message_subscribe_ui'] \ No newline at end of file diff --git a/message_subscribe_ui/src/Controller/SubscriptionController.php b/message_subscribe_ui/src/Controller/SubscriptionController.php index 094709f..2a72962 100644 --- a/message_subscribe_ui/src/Controller/SubscriptionController.php +++ b/message_subscribe_ui/src/Controller/SubscriptionController.php @@ -14,6 +14,7 @@ use Drupal\message_subscribe\SubscribersInterface; use Drupal\user\UserInterface; use Drupal\views\Views; use Symfony\Component\DependencyInjection\ContainerInterface; +use Psr\Log\LoggerInterface; /** * Default controller for the message_subscribe_ui module. @@ -48,6 +49,13 @@ final class SubscriptionController extends ControllerBase { */ protected $subscribers; + /** + * The logger service. + * + * @var \Psr\Log\LoggerInterface + */ + protected $logger; + /** * Construct the subscriptions controller. * @@ -59,12 +67,15 @@ final class SubscriptionController extends ControllerBase { * The message subscribers service. * @param \Drupal\Core\Config\ConfigFactoryInterface $config_factory * The config factory service. + * @param \Psr\Log\LoggerInterface $logger + * The logger service. */ - public function __construct(AccountProxyInterface $current_user, FlagServiceInterface $flag_service, SubscribersInterface $subscribers, ConfigFactoryInterface $config_factory) { + public function __construct(AccountProxyInterface $current_user, FlagServiceInterface $flag_service, SubscribersInterface $subscribers, ConfigFactoryInterface $config_factory, LoggerInterface $logger) { $this->currentUser = $current_user; $this->flagService = $flag_service; $this->subscribers = $subscribers; $this->config = $config_factory->get('message_subscribe.settings'); + $this->logger = $logger; } /** @@ -75,7 +86,8 @@ final class SubscriptionController extends ControllerBase { $container->get('current_user'), $container->get('flag'), $container->get('message_subscribe.subscribers'), - $container->get('config.factory') + $container->get('config.factory'), + $container->get('logger.channel.message_subscribe_ui'), ); } @@ -90,7 +102,7 @@ final class SubscriptionController extends ControllerBase { * @return \Drupal\Core\Access\AccessResultInterface * Returns TRUE if access is granted. */ - public function tabAccess(AccountInterface $user, FlagInterface $flag = NULL) { + public function tabAccess(AccountInterface $user, ?FlagInterface $flag = NULL) { if (!$flag) { // We are inside /message-subscribe so get the first flag. $flags = $this->subscribers->getFlags(); @@ -142,7 +154,7 @@ final class SubscriptionController extends ControllerBase { * @return array * A render array. */ - public function tab(UserInterface $user, FlagInterface $flag = NULL) { + public function tab(UserInterface $user, ?FlagInterface $flag = NULL) { if (!$flag) { // We are inside /message-subscribe so get the first flag. $flags = $this->subscribers->getFlags(); @@ -155,7 +167,14 @@ final class SubscriptionController extends ControllerBase { $result['#cache']['tags'] = $flag->getCacheTags() + $view->getCacheTags(); } catch (MessageSubscribeException $e) { - watchdog_exception('message_subscribe_ui', $e); + if (version_compare(\Drupal::VERSION, '10.1.0', '<')) { + // @phpstan-ignore-next-line + watchdog_exception('message_subscribe_ui', $e); + } + else { + $this->logger->error($e->getMessage()); + } + $result['#markup'] = $this->t('There was an exception displaying the subscriptions for this user. View recently logged messages for more information.'); } diff --git a/message_subscribe_ui/tests/src/Functional/SubscriptionsBlockTest.php b/message_subscribe_ui/tests/src/Functional/SubscriptionsBlockTest.php index 4ace6d4..31cbfe0 100644 --- a/message_subscribe_ui/tests/src/Functional/SubscriptionsBlockTest.php +++ b/message_subscribe_ui/tests/src/Functional/SubscriptionsBlockTest.php @@ -4,7 +4,7 @@ namespace Drupal\Tests\message_subscribe_ui\Functional; use Drupal\entity_test\FieldStorageDefinition; use Drupal\Tests\BrowserTestBase; -use Drupal\Tests\field\Traits\EntityReferenceTestTrait; +use Drupal\Tests\field\Traits\EntityReferenceFieldCreationTrait; use Drupal\Tests\taxonomy\Traits\TaxonomyTestTrait; /** @@ -15,7 +15,7 @@ use Drupal\Tests\taxonomy\Traits\TaxonomyTestTrait; class SubscriptionsBlockTest extends BrowserTestBase { use TaxonomyTestTrait; - use EntityReferenceTestTrait; + use EntityReferenceFieldCreationTrait; /** * Admin user. diff --git a/src/Subscribers.php b/src/Subscribers.php index 28148aa..b73b04c 100644 --- a/src/Subscribers.php +++ b/src/Subscribers.php @@ -374,7 +374,7 @@ class Subscribers implements SubscribersInterface { /** * {@inheritdoc} */ - public function getFlags($entity_type = NULL, $bundle = NULL, AccountInterface $account = NULL) { + public function getFlags($entity_type = NULL, $bundle = NULL, ?AccountInterface $account = NULL) { $flags = $this->flagService->getAllFlags($entity_type, $bundle); if ($account) { // Filter flags down to ones the account has action access for. diff --git a/src/SubscribersInterface.php b/src/SubscribersInterface.php index eb1917c..b4cee89 100644 --- a/src/SubscribersInterface.php +++ b/src/SubscribersInterface.php @@ -134,6 +134,6 @@ interface SubscribersInterface { * * @see \Drupal\flag\FlagServiceInterface::getAllFlags() */ - public function getFlags($entity_type = NULL, $bundle = NULL, AccountInterface $account = NULL); + public function getFlags($entity_type = NULL, $bundle = NULL, ?AccountInterface $account = NULL); } diff --git a/tests/modules/message_subscribe_test/message_subscribe_test.info.yml b/tests/modules/message_subscribe_test/message_subscribe_test.info.yml index eebc26a..1a152d3 100644 --- a/tests/modules/message_subscribe_test/message_subscribe_test.info.yml +++ b/tests/modules/message_subscribe_test/message_subscribe_test.info.yml @@ -1,7 +1,7 @@ name: 'Message subscribe test module' description: 'Functionality to assist message subscribe testing.' type: module -core_version_requirement: ^8 || ^9 +core_version_requirement: ^9 || ^10 || ^11 dependencies: - message_subscribe:message_subscribe package: Testing diff --git a/tests/modules/message_subscribe_test/message_subscribe_test.module b/tests/modules/message_subscribe_test/message_subscribe_test.module index 9001548..8813940 100644 --- a/tests/modules/message_subscribe_test/message_subscribe_test.module +++ b/tests/modules/message_subscribe_test/message_subscribe_test.module @@ -41,6 +41,7 @@ function message_subscribe_test_message_subscribe_get_subscribers_alter(array &$ * Implements hook_message_subscribe_message_alter(). */ function message_subscribe_test_message_subscribe_message_alter(MessageInterface $message, DeliveryCandidateInterface $delivery_candidate) { - $calls = \Drupal::state()->get('message_subscribe_test.message_alter_hook_called', 0); - \Drupal::state()->set('message_subscribe_test.message_alter_hook_called', $calls + 1); + $state = \Drupal::state(); + $calls = $state->get('message_subscribe_test.message_alter_hook_called', 0); + $state->set('message_subscribe_test.message_alter_hook_called', $calls + 1); } diff --git a/tests/src/Kernel/ContextTest.php b/tests/src/Kernel/ContextTest.php index b6bd844..2cef6de 100644 --- a/tests/src/Kernel/ContextTest.php +++ b/tests/src/Kernel/ContextTest.php @@ -10,7 +10,7 @@ use Drupal\og\Og; use Drupal\og\OgGroupAudienceHelper; use Drupal\taxonomy\Entity\Term; use Drupal\taxonomy\Entity\Vocabulary; -use Drupal\Tests\field\Traits\EntityReferenceTestTrait; +use Drupal\Tests\field\Traits\EntityReferenceFieldCreationTrait; /** * Test getting context from entity. @@ -21,7 +21,7 @@ use Drupal\Tests\field\Traits\EntityReferenceTestTrait; class ContextTest extends MessageSubscribeTestBase { use CommentTestTrait; - use EntityReferenceTestTrait; + use EntityReferenceFieldCreationTrait; /** * {@inheritdoc} diff --git a/tests/src/Kernel/MessageSubscribeTestBase.php b/tests/src/Kernel/MessageSubscribeTestBase.php index 4bda66b..2f82d26 100644 --- a/tests/src/Kernel/MessageSubscribeTestBase.php +++ b/tests/src/Kernel/MessageSubscribeTestBase.php @@ -54,7 +54,6 @@ abstract class MessageSubscribeTestBase extends KernelTestBase { public function setUp(): void { parent::setUp(); - $this->installSchema('system', ['sequences']); $this->installSchema('flag', ['flag_counts']); $this->installEntitySchema('flagging'); $this->installEntitySchema('message'); -- GitLab