X-Git-Url: https://git.openstreetmap.org./osqa.git/blobdiff_plain/174c53e97bcf1e5412c141829d152aa5a2b8684c..2aaa3bb66ded22169469986ff14115a3387284b2:/forum_modules/localauth/forms.py diff --git a/forum_modules/localauth/forms.py b/forum_modules/localauth/forms.py index 9529bba..ee61577 100644 --- a/forum_modules/localauth/forms.py +++ b/forum_modules/localauth/forms.py @@ -17,15 +17,23 @@ class ClassicRegisterForm(SetPasswordForm): def __init__(self, *args, **kwargs): super(ClassicRegisterForm, self).__init__(*args, **kwargs) - spam_fields = call_all_handlers('create_anti_spam_field') - if spam_fields: - spam_fields = dict(spam_fields) - for name, field in spam_fields.items(): - self.fields[name] = field - - self._anti_spam_fields = spam_fields.keys() - else: - self._anti_spam_fields = [] + # Try importing the ReCapthca public and private keys, Import Error will be raised in case it has been disabled + try: + from forum.settings import RECAPTCHA_PUB_KEY, RECAPTCHA_PRIV_KEY + recaptcha_enabled = len(str(RECAPTCHA_PUB_KEY.value)) > 0 and len(str(RECAPTCHA_PRIV_KEY.value)) > 0 + except ImportError: + recaptcha_enabled = False + + if recaptcha_enabled: + spam_fields = call_all_handlers('create_anti_spam_field') + if spam_fields: + spam_fields = dict(spam_fields) + for name, field in spam_fields.items(): + self.fields[name] = field + + self._anti_spam_fields = spam_fields.keys() + else: + self._anti_spam_fields = [] def anti_spam_fields(self): return [self[name] for name in self._anti_spam_fields]