check if registration should be open in python

This commit is contained in:
Matthias 2021-10-07 14:08:19 +02:00
parent c872412d04
commit a6c6b5c248
No known key found for this signature in database
GPG Key ID: F50EF5741D33E076
2 changed files with 19 additions and 1 deletions

View File

@ -14,6 +14,7 @@ from crispy_forms.layout import Layout, Field
from crispy_forms.bootstrap import PrependedText, AppendedText, PrependedAppendedText, StrictButton, Div
from allauth.account.forms import SignupForm, set_form_field_order
from allauth.account.adapter import DefaultAccountAdapter
from allauth.socialaccount.adapter import DefaultSocialAccountAdapter
from part.models import PartCategory
@ -251,7 +252,23 @@ class CustomSignupForm(SignupForm):
return cleaned_data
class CustomSocialAccountAdapter(DefaultSocialAccountAdapter):
class RegistratonMixin:
"""
Mixin to check if registration should be enabled
"""
def is_open_for_signup(self, request):
if InvenTreeSetting.get_setting('LOGIN_ENABLE_REG', True):
return super().is_open_for_signup(request)
return False
class CustomAccountAdapter(RegistratonMixin, DefaultAccountAdapter):
"""
Override of adapter to use dynamic settings
"""
class CustomSocialAccountAdapter(RegistratonMixin, DefaultSocialAccountAdapter):
"""
Override of adapter to use dynamic settings
"""

View File

@ -682,3 +682,4 @@ ACCOUNT_FORMS = {
}
SOCIALACCOUNT_ADAPTER = 'InvenTree.forms.CustomSocialAccountAdapter'
ACCOUNT_ADAPTER = 'InvenTree.forms.CustomAccountAdapter'