Add option to disable registration

This commit is contained in:
Thomas Citharel 2016-07-02 14:35:52 +02:00 committed by Jeremy Benoist
parent 79efca1e6f
commit de3d716ae4
No known key found for this signature in database
GPG Key ID: BCA73962457ACC3C
7 changed files with 54 additions and 1 deletions

View File

@ -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"

View File

@ -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

View File

@ -0,0 +1,20 @@
<?php
namespace Wallabag\UserBundle\Controller;
use FOS\UserBundle\Controller\RegistrationController as FOSRegistrationController;
use Symfony\Component\HttpFoundation\Request;
class RegistrationController extends FOSRegistrationController
{
public function registerAction(Request $request)
{
if ($this->container->getParameter('wallabag_user.registration_enabled')) {
parent::registerAction($request);
}
else
{
return $this->redirectToRoute('fos_user_security_login', array(), 301);
}
}
}

View File

@ -0,0 +1,18 @@
<?php
namespace Wallabag\UserBundle\Controller;
use FOS\UserBundle\Controller\SecurityController as FOSSecurityController;
class SecurityController extends FOSSecurityController
{
protected function renderLogin(array $data)
{
return $this->render('FOSUserBundle:Security:login.html.twig',
array_merge(
$data,
array('registration_enabled' => $this->container->getParameter('wallabag_user.registration_enabled'))
)
);
}
}

View File

@ -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;
}
}

View File

@ -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()

View File

@ -33,7 +33,9 @@
</div>
<div class="card-action center">
<input type="hidden" name="_csrf_token" value="{{ csrf_token('authenticate') }}" />
<a href="{{ path('fos_user_registration_register') }}" class="waves-effect waves-light grey btn">{{ 'security.login.register'|trans }}</a>
{% if registration_enabled %}
<a href="{{ path('fos_user_registration_register') }}" class="waves-effect waves-light grey btn">{{ 'security.login.register'|trans }}</a>
{% endif %}
<button class="btn waves-effect waves-light" type="submit" name="send">
{{ 'security.login.submit'|trans }}
<i class="material-icons right">send</i>