diff --git a/app/config/routing.yml b/app/config/routing.yml index fbb900eb8..d4defca02 100644 --- a/app/config/routing.yml +++ b/app/config/routing.yml @@ -41,12 +41,6 @@ homepage: fos_user: resource: "@FOSUserBundle/Resources/config/routing/all.xml" -fos_user_registration_register: - path: /register - defaults: - _controller: Wallabag\UserBundle\Controller\RegistrationController::registerAction - methods: [GET, POST] - fos_oauth_server_token: resource: "@FOSOAuthServerBundle/Resources/config/routing/token.xml" diff --git a/src/Wallabag/UserBundle/Controller/RegistrationController.php b/src/Wallabag/UserBundle/Controller/RegistrationController.php deleted file mode 100644 index 2df36d6c9..000000000 --- a/src/Wallabag/UserBundle/Controller/RegistrationController.php +++ /dev/null @@ -1,18 +0,0 @@ -container->getParameter('fosuser_registration')) { - return parent::registerAction($request); - } - - return $this->redirectToRoute('fos_user_security_login', [], 301); - } -} diff --git a/src/Wallabag/UserBundle/EventListener/RegistrationListener.php b/src/Wallabag/UserBundle/EventListener/RegistrationListener.php new file mode 100644 index 000000000..dd928a878 --- /dev/null +++ b/src/Wallabag/UserBundle/EventListener/RegistrationListener.php @@ -0,0 +1,44 @@ +registrationEnabled = $registrationEnabled; + $this->urlGenerator = $urlGenerator; + } + + public static function getSubscribedEvents() + { + return [ + FOSUserEvents::REGISTRATION_INITIALIZE => 'onRegistrationInitialize', + ]; + } + + public function onRegistrationInitialize(GetResponseUserEvent $event) + { + if ($this->registrationEnabled) { + return; + } + + $event->setResponse(new RedirectResponse($this->urlGenerator->generate('fos_user_security_login'), 301)); + } +} diff --git a/src/Wallabag/UserBundle/Resources/config/services.yml b/src/Wallabag/UserBundle/Resources/config/services.yml index 2dcf30111..40f05c672 100644 --- a/src/Wallabag/UserBundle/Resources/config/services.yml +++ b/src/Wallabag/UserBundle/Resources/config/services.yml @@ -9,6 +9,13 @@ services: - '@=service(''craue_config'').get(''wallabag_support_url'')' - '%domain_name%' + Wallabag\UserBundle\EventListener\RegistrationListener: + arguments: + - '%fosuser_registration%' + - '@router' + tags: + - { name: kernel.event_subscriber } + wallabag_user.password_resetting: class: Wallabag\UserBundle\EventListener\PasswordResettingListener arguments: