diff options
author | Evgeny Fadeev <evgeny.fadeev@gmail.com> | 2014-05-27 12:09:03 -0300 |
---|---|---|
committer | Evgeny Fadeev <evgeny.fadeev@gmail.com> | 2014-05-27 12:09:03 -0300 |
commit | 7335046b4d311d709cdf10633c4a3f8551a468b7 (patch) | |
tree | 87539bfeed8d430f633197d2489305b5c9180d5e | |
parent | 97f7e16ea22f265b59408c447af6139d530d9cd9 (diff) | |
download | askbot-7335046b4d311d709cdf10633c4a3f8551a468b7.tar.gz askbot-7335046b4d311d709cdf10633c4a3f8551a468b7.tar.bz2 askbot-7335046b4d311d709cdf10633c4a3f8551a468b7.zip |
added recaptcha to the openid registration form
-rw-r--r-- | askbot/deps/django_authopenid/forms.py | 17 | ||||
-rw-r--r-- | askbot/templates/authopenid/complete.html | 8 |
2 files changed, 24 insertions, 1 deletions
diff --git a/askbot/deps/django_authopenid/forms.py b/askbot/deps/django_authopenid/forms.py index 5f64ccd5..63d0ba13 100644 --- a/askbot/deps/django_authopenid/forms.py +++ b/askbot/deps/django_authopenid/forms.py @@ -321,6 +321,17 @@ class OpenidRegisterForm(forms.Form): username = UserNameField(widget_attrs={'tabindex': 0}) email = UserEmailField() +class SafeOpenidRegisterForm(OpenidRegisterForm): + """this form uses recaptcha in addition + to the base register form + """ + def __init__(self, *args, **kwargs): + super(SafeOpenidRegisterForm, self).__init__(*args, **kwargs) + self.fields['recaptcha'] = RecaptchaField( + private_key = askbot_settings.RECAPTCHA_SECRET, + public_key = askbot_settings.RECAPTCHA_KEY + ) + class ClassicRegisterForm(SetPasswordForm): """ legacy registration form """ @@ -334,7 +345,9 @@ class SafeClassicRegisterForm(ClassicRegisterForm): """this form uses recaptcha in addition to the base register form """ - recaptcha = RecaptchaField( + def __init__(self, *args, **kwargs): + super(SafeClassicRegisterForm, self).__init__(*args, **kwargs) + self.fields['recaptcha'] = RecaptchaField( private_key = askbot_settings.RECAPTCHA_SECRET, public_key = askbot_settings.RECAPTCHA_KEY ) @@ -486,5 +499,7 @@ def get_registration_form_class(): custom_class = getattr(django_settings, 'REGISTRATION_FORM', None) if custom_class: return load_module(custom_class) + elif askbot_settings.USE_RECAPTCHA: + return SafeOpenidRegisterForm else: return OpenidRegisterForm diff --git a/askbot/templates/authopenid/complete.html b/askbot/templates/authopenid/complete.html index c41f0a0f..21e6d039 100644 --- a/askbot/templates/authopenid/complete.html +++ b/askbot/templates/authopenid/complete.html @@ -63,6 +63,14 @@ anyone, must be valid</i>) {% endif %} {{ openid_register_form.email }} </div> + {% if settings.USE_RECAPTCHA %} + <div class="form-row-vertical"> + {% if openid_register_form.recaptcha.errors %} + <p class="error">{{ openid_register_form.recaptcha.errors|join(", ") }}</p> + {% endif %} + {{ openid_register_form.recaptcha }} + </div> + {% endif %} <div class="submit-row"> <input id="register-button" |