diff --git a/app/config/config.yml b/app/config/config.yml index 807543930..cad51e6cb 100644 --- a/app/config/config.yml +++ b/app/config/config.yml @@ -50,6 +50,9 @@ wallabag_core: rss_limit: 50 reading_speed: 1 +wallabag_user: + registration_enabled: "%registration_enabled%" + wallabag_import: allow_mimetypes: ['application/octet-stream', 'application/json', 'text/plain'] resource_dir: "%kernel.root_dir%/../web/uploads/import" diff --git a/app/config/parameters.yml.dist b/app/config/parameters.yml.dist index d45839f4d..d092e1393 100644 --- a/app/config/parameters.yml.dist +++ b/app/config/parameters.yml.dist @@ -34,6 +34,7 @@ parameters: twofactor_sender: no-reply@wallabag.org # fosuser stuff + fosuser_registration: true fosuser_confirmation: true from_email: no-reply@wallabag.org diff --git a/src/Wallabag/UserBundle/Controller/RegistrationController.php b/src/Wallabag/UserBundle/Controller/RegistrationController.php new file mode 100644 index 000000000..bba27cfb1 --- /dev/null +++ b/src/Wallabag/UserBundle/Controller/RegistrationController.php @@ -0,0 +1,20 @@ +container->getParameter('wallabag_user.registration_enabled')) { + parent::registerAction($request); + } + else + { + return $this->redirectToRoute('fos_user_security_login', array(), 301); + } + } +} diff --git a/src/Wallabag/UserBundle/Controller/SecurityController.php b/src/Wallabag/UserBundle/Controller/SecurityController.php new file mode 100644 index 000000000..a5f937634 --- /dev/null +++ b/src/Wallabag/UserBundle/Controller/SecurityController.php @@ -0,0 +1,18 @@ +render('FOSUserBundle:Security:login.html.twig', + array_merge( + $data, + array('registration_enabled' => $this->container->getParameter('wallabag_user.registration_enabled')) + ) + ); + } +} diff --git a/src/Wallabag/UserBundle/DependencyInjection/Configuration.php b/src/Wallabag/UserBundle/DependencyInjection/Configuration.php index 4223f8dba..971ce1a0f 100644 --- a/src/Wallabag/UserBundle/DependencyInjection/Configuration.php +++ b/src/Wallabag/UserBundle/DependencyInjection/Configuration.php @@ -12,6 +12,14 @@ class Configuration implements ConfigurationInterface $treeBuilder = new TreeBuilder(); $rootNode = $treeBuilder->root('wallabag_user'); + $rootNode + ->children() + ->booleanNode('registration_enabled') + ->defaultValue(true) + ->end() + ->end() + ; + return $treeBuilder; } } diff --git a/src/Wallabag/UserBundle/DependencyInjection/WallabagUserExtension.php b/src/Wallabag/UserBundle/DependencyInjection/WallabagUserExtension.php index c12a89378..99040f694 100644 --- a/src/Wallabag/UserBundle/DependencyInjection/WallabagUserExtension.php +++ b/src/Wallabag/UserBundle/DependencyInjection/WallabagUserExtension.php @@ -16,6 +16,7 @@ class WallabagUserExtension extends Extension $loader = new Loader\YamlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config')); $loader->load('services.yml'); + $container->setParameter('wallabag_user.registration_enabled', $config['registration_enabled']); } public function getAlias() diff --git a/src/Wallabag/UserBundle/Resources/views/Security/login.html.twig b/src/Wallabag/UserBundle/Resources/views/Security/login.html.twig index 8474b497b..13a903ab6 100644 --- a/src/Wallabag/UserBundle/Resources/views/Security/login.html.twig +++ b/src/Wallabag/UserBundle/Resources/views/Security/login.html.twig @@ -33,7 +33,9 @@
- {{ 'security.login.register'|trans }} + {% if registration_enabled %} + {{ 'security.login.register'|trans }} + {% endif %}