--- a/src/pyams_content/shared/form/__init__.py Mon Oct 07 14:04:31 2019 +0200
+++ b/src/pyams_content/shared/form/__init__.py Wed Oct 16 18:41:45 2019 +0200
@@ -19,10 +19,12 @@
from pyams_content.features.review.interfaces import IReviewTarget
from pyams_content.shared.common import IWfSharedContentFactory, SharedContent, WfSharedContent, WfSharedContentChecker, \
register_content_type
-from pyams_content.shared.form.interfaces import FORM_CONTENT_NAME, FORM_CONTENT_TYPE, IForm, IFormFieldContainer, \
- IFormFieldContainerTarget, IFormHandler, IWfForm, IWfFormFactory
+from pyams_content.shared.form.interfaces import FORM_CONTENT_NAME, FORM_CONTENT_TYPE, IForm, \
+ IFormFieldContainer, \
+ IFormFieldContainerTarget, IFormHandler, IWfForm, IWfFormFactory, IFormsManager
from pyams_utils.adapter import adapter_config
from pyams_utils.registry import get_global_registry
+from pyams_utils.traversing import get_parent
__docformat__ = 'restructuredtext'
@@ -45,10 +47,9 @@
submit_label = FieldProperty(IWfForm['submit_label'])
submit_message = FieldProperty(IWfForm['submit_message'])
_handler = FieldProperty(IWfForm['handler'])
- use_captcha = FieldProperty(IWfForm['use_captcha'])
+ override_captcha = FieldProperty(IWfForm['override_captcha'])
client_captcha_key = FieldProperty(IWfForm['client_captcha_key'])
server_captcha_key = FieldProperty(IWfForm['server_captcha_key'])
- captcha_proxy = FieldProperty(IWfForm['captcha_proxy'])
rgpd_consent = FieldProperty(IWfForm['rgpd_consent'])
rgpd_warning = FieldProperty(IWfForm['rgpd_warning'])
rgpd_user_rights = FieldProperty(IWfForm['rgpd_user_rights'])
@@ -86,6 +87,17 @@
registry = get_global_registry()
return registry.queryUtility(IFormHandler, name=handler)
+ def get_captcha_settings(self):
+ if self.override_captcha:
+ return {
+ 'use_captcha': bool(self.client_captcha_key),
+ 'client_key': self.client_captcha_key,
+ 'server_key': self.server_captcha_key
+ }
+ else:
+ manager = get_parent(self, IFormsManager)
+ return manager.get_captcha_settings()
+
register_content_type(WfForm, shared_content=False)