diff --git a/CONTRIBUTORS.rst b/CONTRIBUTORS.rst index 51bac95b..0646e668 100644 --- a/CONTRIBUTORS.rst +++ b/CONTRIBUTORS.rst @@ -69,6 +69,7 @@ Code Contributors * Jan Van Bruggen / @jvanbrug * Jon Miller / @jondelmil * Thomas Korrison / @failsafe86 +* David Díaz / @DavidDiazPinto * \* Possesses commit rights diff --git a/docs/settings.rst b/docs/settings.rst index 629e60f4..aec7c513 100644 --- a/docs/settings.rst +++ b/docs/settings.rst @@ -45,3 +45,10 @@ DJANGO_OPBEAT_APP_ID OPBEAT['APP_ID'] n/a DJANGO_OPBEAT_SECRET_TOKEN OPBEAT['SECRET_TOKEN'] n/a raises error DJANGO_OPBEAT_ORGANIZATION_ID OPBEAT['ORGANIZATION_ID'] n/a raises error ======================================= =========================== ============================================== ====================================================================== + +-------------- +Other Settings +-------------- + +ACCOUNT_ALLOW_REGISTRATION (=True) + Allow enable or disable user registration through `django-allauth` without disabling other characteristics like authentication and account management. \ No newline at end of file diff --git a/{{cookiecutter.repo_name}}/config/settings/common.py b/{{cookiecutter.repo_name}}/config/settings/common.py index a0ab6063..0a5deebe 100644 --- a/{{cookiecutter.repo_name}}/config/settings/common.py +++ b/{{cookiecutter.repo_name}}/config/settings/common.py @@ -211,6 +211,9 @@ AUTHENTICATION_BACKENDS = ( ACCOUNT_AUTHENTICATION_METHOD = 'username' ACCOUNT_EMAIL_REQUIRED = True ACCOUNT_EMAIL_VERIFICATION = 'mandatory' +ACCOUNT_ADAPTER = '{{cookiecutter.repo_name}}.users.adapter.AccountAdapter' +SOCIALACCOUNT_ADAPTER = '{{cookiecutter.repo_name}}.users.adapter.SocialAccountAdapter' +ACCOUNT_ALLOW_REGISTRATION = True # Custom user app defaults # Select the correct user model diff --git a/{{cookiecutter.repo_name}}/{{cookiecutter.repo_name}}/users/adapter.py b/{{cookiecutter.repo_name}}/{{cookiecutter.repo_name}}/users/adapter.py new file mode 100644 index 00000000..1d4dda1c --- /dev/null +++ b/{{cookiecutter.repo_name}}/{{cookiecutter.repo_name}}/users/adapter.py @@ -0,0 +1,14 @@ +# -*- coding: utf-8 -*- +from django.conf import settings +from allauth.account.adapter import DefaultAccountAdapter +from allauth.socialaccount.adapter import DefaultSocialAccountAdapter + + +class AccountAdapter(DefaultAccountAdapter): + def is_open_for_signup(self, request): + return getattr(settings, 'ACCOUNT_ALLOW_REGISTRATION', True) + + +class SocialAccountAdapter(DefaultSocialAccountAdapter): + def is_open_for_signup(self, request): + return getattr(settings, 'ACCOUNT_ALLOW_REGISTRATION', True)