do not make a captcha check when captcha is disabled; this fixes the non-captcha comment form.
svn path=/plone.app.discussion/trunk/; revision=28790
This commit is contained in:
		
							parent
							
								
									ce30a1b594
								
							
						
					
					
						commit
						2a1ae7dc62
					
				@ -32,7 +32,9 @@ from plone.registry.interfaces import IRegistry
 | 
			
		||||
from plone.app.layout.viewlets.common import ViewletBase
 | 
			
		||||
 | 
			
		||||
from plone.app.discussion.comment import Comment, CommentFactory
 | 
			
		||||
from plone.app.discussion.interfaces import IConversation, IComment, IReplies, IDiscussionSettings
 | 
			
		||||
from plone.app.discussion.interfaces import IConversation, IComment, IReplies, IDiscussionSettings, ICaptcha
 | 
			
		||||
 | 
			
		||||
from plone.formwidget.captcha.validator import CaptchaValidator
 | 
			
		||||
 | 
			
		||||
from plone.z3cform import layout, z2
 | 
			
		||||
from plone.z3cform.fieldsets import extensible
 | 
			
		||||
@ -77,16 +79,17 @@ class CommentForm(extensible.ExtensibleForm, form.Form):
 | 
			
		||||
    def handleComment(self, action):
 | 
			
		||||
        data, errors = self.extractData()
 | 
			
		||||
 | 
			
		||||
        if data.has_key('captcha'):
 | 
			
		||||
            from plone.formwidget.captcha.validator import CaptchaValidator
 | 
			
		||||
            from plone.app.discussion.interfaces import ICaptcha
 | 
			
		||||
            # Verify the user input against the captcha
 | 
			
		||||
            captcha = CaptchaValidator(self.context, self.request, None, ICaptcha['captcha'], None)
 | 
			
		||||
            if data.has_key('subject') and captcha.validate(data['captcha']):
 | 
			
		||||
                # if captcha validation passes, print the subject
 | 
			
		||||
                print data['subject']
 | 
			
		||||
        else:
 | 
			
		||||
            return
 | 
			
		||||
        registry = queryUtility(IRegistry)
 | 
			
		||||
        settings = registry.forInterface(IDiscussionSettings)
 | 
			
		||||
        if settings.captcha != 'disabled':
 | 
			
		||||
            # Check captcha only if it is not disabled
 | 
			
		||||
            if data.has_key('captcha'):
 | 
			
		||||
                # Check captcha only if there is a value, otherwise
 | 
			
		||||
                # the default "required" validator is sufficient.
 | 
			
		||||
                captcha = CaptchaValidator(self.context, self.request, None, ICaptcha['captcha'], None)
 | 
			
		||||
                captcha.validate(data['captcha'])
 | 
			
		||||
            else:
 | 
			
		||||
                return
 | 
			
		||||
 | 
			
		||||
        if data.has_key('title') and data.has_key('text'):
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user