source: products/quintagroup.plonecaptchas/trunk/quintagroup/plonecaptchas/validate.py @ 3457

Last change on this file since 3457 was 3279, checked in by vmaksymiv, 13 years ago

pep8, pyflakes fixes

File size: 1.2 KB
Line 
1from plone.app.discussion.interfaces import IDiscussionSettings
2from plone.app.discussion.interfaces import ICaptcha
3from quintagroup.z3cform.captcha.validator import CaptchaValidator
4from quintagroup.z3cform.captcha.widget import CaptchaWidget
5from quintagroup.plonecaptchas.config import CAPTCHA_NAME
6from quintagroup.plonecaptchas.interfaces import IQGDiscussionCaptchas
7
8from zope.component import queryUtility
9from zope.component import adapts
10from zope.interface import Interface
11from zope.schema.interfaces import IField
12from plone.registry.interfaces import IRegistry
13from z3c.form import validator
14
15
16class QGDiscussionCaptchaValidator(CaptchaValidator):
17    adapts(Interface, IQGDiscussionCaptchas, Interface, IField, Interface)
18
19    def validate(self, value):
20
21        registry = queryUtility(IRegistry)
22        settings = registry.forInterface(IDiscussionSettings, check=False)
23        if settings.captcha == CAPTCHA_NAME:
24            super(QGDiscussionCaptchaValidator, self).validate(value)
25
26
27validator.WidgetValidatorDiscriminators(QGDiscussionCaptchaValidator,
28                                        widget=CaptchaWidget,
29                                        field=ICaptcha['captcha'])
Note: See TracBrowser for help on using the repository browser.