show captcha validation only for anonymous users.
svn path=/plone.app.discussion/trunk/; revision=28902
This commit is contained in:
parent
2567483281
commit
bbf7cb5685
@ -1,5 +1,7 @@
|
|||||||
from persistent import Persistent
|
from persistent import Persistent
|
||||||
|
|
||||||
|
from Products.CMFCore.utils import getToolByName
|
||||||
|
|
||||||
from z3c.form import validator
|
from z3c.form import validator
|
||||||
from z3c.form.field import Fields
|
from z3c.form.field import Fields
|
||||||
|
|
||||||
@ -59,9 +61,11 @@ if HAS_CAPTCHA or HAS_RECAPTCHA:
|
|||||||
registry = queryUtility(IRegistry)
|
registry = queryUtility(IRegistry)
|
||||||
settings = registry.forInterface(IDiscussionSettings)
|
settings = registry.forInterface(IDiscussionSettings)
|
||||||
self.captcha = settings.captcha
|
self.captcha = settings.captcha
|
||||||
|
portal_membership = getToolByName(self.context, 'portal_membership')
|
||||||
|
self.isAnon = portal_membership.isAnonymousUser()
|
||||||
|
|
||||||
def update(self):
|
def update(self):
|
||||||
if self.captcha != 'disabled':
|
if self.captcha != 'disabled' and self.isAnon:
|
||||||
# Add captcha field if captcha is enabled in the registry
|
# Add captcha field if captcha is enabled in the registry
|
||||||
self.add(ICaptcha, prefix="")
|
self.add(ICaptcha, prefix="")
|
||||||
if HAS_CAPTCHA and self.captcha == 'captcha':
|
if HAS_CAPTCHA and self.captcha == 'captcha':
|
||||||
|
@ -79,9 +79,11 @@ class CommentForm(extensible.ExtensibleForm, form.Form):
|
|||||||
def handleComment(self, action):
|
def handleComment(self, action):
|
||||||
data, errors = self.extractData()
|
data, errors = self.extractData()
|
||||||
|
|
||||||
|
# Captcha check (only when captcha is enabled and user is anonymous)
|
||||||
registry = queryUtility(IRegistry)
|
registry = queryUtility(IRegistry)
|
||||||
settings = registry.forInterface(IDiscussionSettings)
|
settings = registry.forInterface(IDiscussionSettings)
|
||||||
if settings.captcha != 'disabled':
|
portal_membership = getToolByName(self.context, 'portal_membership')
|
||||||
|
if settings.captcha != 'disabled' and portal_membership.isAnonymousUser():
|
||||||
# Check captcha only if it is not disabled
|
# Check captcha only if it is not disabled
|
||||||
if data.has_key('captcha'):
|
if data.has_key('captcha'):
|
||||||
# Check captcha only if there is a value, otherwise
|
# Check captcha only if there is a value, otherwise
|
||||||
|
Loading…
Reference in New Issue
Block a user