Open CDRO opened 7 years ago
I've the same issue. We've also a powermail confirmation page activated, without confirmation-page its working fine. Here is the full log:
Thu, 13 Jul 2017 23:14:43 -0400 [ALERT] request="827f408a76b0a" component="TYPO3.CMS.Frontend.ContentObject.Exception.ProductionExceptionHandler": Oops, an error occurred! Code: 201707132314424aed78bf - {"exception":"TYPO3\\CMS\\Extbase\\Property\\Exception\\InvalidPropertyMappingConfigurationException: It is not allowed to map property \"answers\". You need to use $propertyMappingConfiguration->allowProperties('answers') to enable mapping of this property. in \/homepages\/35\/d583512602\/htdocs\/libraries\/typo3_src-7.6.18\/typo3\/sysext\/extbase\/Classes\/Property\/PropertyMapper.php:185\nStack trace:\n#0 \/homepages\/35\/d583512602\/htdocs\/libraries\/typo3_src-7.6.18\/typo3\/sysext\/extbase\/Classes\/Property\/PropertyMapper.php(119): TYPO3\\CMS\\Extbase\\Property\\PropertyMapper->doMapping(Array, 'In2code\\\\Powerma...', Object(TYPO3\\CMS\\Extbase\\Mvc\\Controller\\MvcPropertyMappingConfiguration), Array)\n#1 \/homepages\/35\/d583512602\/htdocs\/libraries\/typo3_src-7.6.18\/typo3\/sysext\/extbase\/Classes\/Mvc\/Controller\/Argument.php(270): TYPO3\\CMS\\Extbase\\Property\\PropertyMapper->convert(Array, 'In2code\\\\Powerma...', Object(TYPO3\\CMS\\Extbase\\Mvc\\Controller\\MvcPropertyMappingConfiguration))\n#2 \/homepages\/35\/d583512602\/htdocs\/libraries\/typo3_src-7.6.18\/typo3\/sysext\/extbase\/Classes\/Mvc\/Controller\/AbstractController.php(428): TYPO3\\CMS\\Extbase\\Mvc\\Controller\\Argument->setValue(Array)\n#3 \/homepages\/35\/d583512602\/htdocs\/libraries\/typo3_src-7.6.18\/typo3\/sysext\/extbase\/Classes\/Mvc\/Controller\/ActionController.php(170): TYPO3\\CMS\\Extbase\\Mvc\\Controller\\AbstractController->mapRequestArgumentsToControllerArguments()\n#4 \/homepages\/35\/d583512602\/htdocs\/libraries\/typo3_src-7.6.18\/typo3\/sysext\/extbase\/Classes\/Mvc\/Dispatcher.php(86): TYPO3\\CMS\\Extbase\\Mvc\\Controller\\ActionController->processRequest(Object(TYPO3\\CMS\\Extbase\\Mvc\\Web\\Request), Object(TYPO3\\CMS\\Extbase\\Mvc\\Web\\Response))\n#5 \/homepages\/35\/d583512602\/htdocs\/libraries\/typo3_src-7.6.18\/typo3\/sysext\/extbase\/Classes\/Mvc\/Web\/FrontendRequestHandler.php(69): TYPO3\\CMS\\Extbase\\Mvc\\Dispatcher->dispatch(Object(TYPO3\\CMS\\Extbase\\Mvc\\Web\\Request), Object(TYPO3\\CMS\\Extbase\\Mvc\\Web\\Response))\n#6 \/homepages\/35\/d583512602\/htdocs\/libraries\/typo3_src-7.6.18\/typo3\/sysext\/extbase\/Classes\/Core\/Bootstrap.php(206): TYPO3\\CMS\\Extbase\\Mvc\\Web\\FrontendRequestHandler->handleRequest()\n#7 \/homepages\/35\/d583512602\/htdocs\/libraries\/typo3_src-7.6.18\/typo3\/sysext\/extbase\/Classes\/Core\/Bootstrap.php(193): TYPO3\\CMS\\Extbase\\Core\\Bootstrap->handleRequest()\n#8 [internal function]: TYPO3\\CMS\\Extbase\\Core\\Bootstrap->run('', Array)\n#9 \/homepages\/35\/d583512602\/htdocs\/libraries\/typo3_src-7.6.18\/typo3\/sysext\/frontend\/Classes\/ContentObject\/ContentObjectRenderer.php(7310): call_user_func_array(Array, Array)\n#10 \/homepages\/35\/d583512602\/htdocs\/libraries\/typo3_src-7.6.18\/typo3\/sysext\/frontend\/Classes\/ContentObject\/UserContentObject.php(40): TYPO3\\CMS\\Frontend\\ContentObject\\ContentObjectRenderer->callUserFunction('TYPO3\\\\CMS\\\\Extba...', Array, '')\n#11 \/homepages\/35\/d583512602\/htdocs\/libraries\/typo3_src-7.6.18\/typo3\/sysext\/frontend\/Classes\/ContentObject\/ContentObjectRenderer.php(943): TYPO3\\CMS\\Frontend\\ContentObject\\UserContentObject->render(Array)\n#12 \/homepages\/35\/d583512602\/htdocs\/libraries\/typo3_src-7.6.18\/typo3\/sysext\/frontend\/Classes\/ContentObject\/ContentObjectRenderer.php(859): TYPO3\\CMS\\Frontend\\ContentObject\\ContentObjectRenderer->render(Object(TYPO3\\CMS\\Frontend\\ContentObject\\UserContentObject), Array)\n#13 \/homepages\/35\/d583512602\/htdocs\/libraries\/typo3_src-7.6.18\/typo3\/sysext\/frontend\/Classes\/Controller\/TypoScriptFrontendController.php(3577): TYPO3\\CMS\\Frontend\\ContentObject\\ContentObjectRenderer->cObjGetSingle('USER', Array)\n#14 \/homepages\/35\/d583512602\/htdocs\/libraries\/typo3_src-7.6.18\/typo3\/sysext\/frontend\/Classes\/Controller\/TypoScriptFrontendController.php(3522): TYPO3\\CMS\\Frontend\\Controller\\TypoScriptFrontendController->INTincScript_process(Array)\n#15 \/homepages\/35\/d583512602\/htdocs\/libraries\/typo3_src-7.6.18\/typo3\/sysext\/frontend\/Classes\/Controller\/TypoScriptFrontendController.php(3488): TYPO3\\CMS\\Frontend\\Controller\\TypoScriptFrontendController->recursivelyReplaceIntPlaceholdersInContent()\n#16 \/homepages\/35\/d583512602\/htdocs\/libraries\/typo3_src-7.6.18\/typo3\/sysext\/frontend\/Classes\/Http\/RequestHandler.php(232): TYPO3\\CMS\\Frontend\\Controller\\TypoScriptFrontendController->INTincScript()\n#17 \/homepages\/35\/d583512602\/htdocs\/libraries\/typo3_src-7.6.18\/typo3\/sysext\/core\/Classes\/Core\/Bootstrap.php(302): TYPO3\\CMS\\Frontend\\Http\\RequestHandler->handleRequest(Object(TYPO3\\CMS\\Core\\Http\\ServerRequest))\n#18 \/homepages\/35\/d583512602\/htdocs\/libraries\/typo3_src-7.6.18\/typo3\/sysext\/frontend\/Classes\/Http\/Application.php(78): TYPO3\\CMS\\Core\\Core\\Bootstrap->handleRequest(Object(TYPO3\\CMS\\Core\\Http\\ServerRequest))\n#19 \/homepages\/35\/d583512602\/htdocs\/libraries\/typo3_src-7.6.18\/index.php(33): TYPO3\\CMS\\Frontend\\Http\\Application->run()\n#20 \/homepages\/35\/d583512602\/htdocs\/libraries\/typo3_src-7.6.18\/index.php(34): {closure}()\n#21 {main}\n\nNext TYPO3\\CMS\\Extbase\\Property\\Exception: Exception while property mapping at property path \"\": It is not allowed to map property \"answers\". You need to use $propertyMappingConfiguration->allowProperties('answers') to enable mapping of this property. in \/homepages\/35\/d583512602\/htdocs\/libraries\/typo3_src-7.6.18\/typo3\/sysext\/extbase\/Classes\/Property\/PropertyMapper.php:128\nStack trace:\n#0 \/homepages\/35\/d583512602\/htdocs\/libraries\/typo3_src-7.6.18\/typo3\/sysext\/extbase\/Classes\/Mvc\/Controller\/Argument.php(270): TYPO3\\CMS\\Extbase\\Property\\PropertyMapper->convert(Array, 'In2code\\\\Powerma...', Object(TYPO3\\CMS\\Extbase\\Mvc\\Controller\\MvcPropertyMappingConfiguration))\n#1 \/homepages\/35\/d583512602\/htdocs\/libraries\/typo3_src-7.6.18\/typo3\/sysext\/extbase\/Classes\/Mvc\/Controller\/AbstractController.php(428): TYPO3\\CMS\\Extbase\\Mvc\\Controller\\Argument->setValue(Array)\n#2 \/homepages\/35\/d583512602\/htdocs\/libraries\/typo3_src-7.6.18\/typo3\/sysext\/extbase\/Classes\/Mvc\/Controller\/ActionController.php(170): TYPO3\\CMS\\Extbase\\Mvc\\Controller\\AbstractController->mapRequestArgumentsToControllerArguments()\n#3 \/homepages\/35\/d583512602\/htdocs\/libraries\/typo3_src-7.6.18\/typo3\/sysext\/extbase\/Classes\/Mvc\/Dispatcher.php(86): TYPO3\\CMS\\Extbase\\Mvc\\Controller\\ActionController->processRequest(Object(TYPO3\\CMS\\Extbase\\Mvc\\Web\\Request), Object(TYPO3\\CMS\\Extbase\\Mvc\\Web\\Response))\n#4 \/homepages\/35\/d583512602\/htdocs\/libraries\/typo3_src-7.6.18\/typo3\/sysext\/extbase\/Classes\/Mvc\/Web\/FrontendRequestHandler.php(69): TYPO3\\CMS\\Extbase\\Mvc\\Dispatcher->dispatch(Object(TYPO3\\CMS\\Extbase\\Mvc\\Web\\Request), Object(TYPO3\\CMS\\Extbase\\Mvc\\Web\\Response))\n#5 \/homepages\/35\/d583512602\/htdocs\/libraries\/typo3_src-7.6.18\/typo3\/sysext\/extbase\/Classes\/Core\/Bootstrap.php(206): TYPO3\\CMS\\Extbase\\Mvc\\Web\\FrontendRequestHandler->handleRequest()\n#6 \/homepages\/35\/d583512602\/htdocs\/libraries\/typo3_src-7.6.18\/typo3\/sysext\/extbase\/Classes\/Core\/Bootstrap.php(193): TYPO3\\CMS\\Extbase\\Core\\Bootstrap->handleRequest()\n#7 [internal function]: TYPO3\\CMS\\Extbase\\Core\\Bootstrap->run('', Array)\n#8 \/homepages\/35\/d583512602\/htdocs\/libraries\/typo3_src-7.6.18\/typo3\/sysext\/frontend\/Classes\/ContentObject\/ContentObjectRenderer.php(7310): call_user_func_array(Array, Array)\n#9 \/homepages\/35\/d583512602\/htdocs\/libraries\/typo3_src-7.6.18\/typo3\/sysext\/frontend\/Classes\/ContentObject\/UserContentObject.php(40): TYPO3\\CMS\\Frontend\\ContentObject\\ContentObjectRenderer->callUserFunction('TYPO3\\\\CMS\\\\Extba...', Array, '')\n#10 \/homepages\/35\/d583512602\/htdocs\/libraries\/typo3_src-7.6.18\/typo3\/sysext\/frontend\/Classes\/ContentObject\/ContentObjectRenderer.php(943): TYPO3\\CMS\\Frontend\\ContentObject\\UserContentObject->render(Array)\n#11 \/homepages\/35\/d583512602\/htdocs\/libraries\/typo3_src-7.6.18\/typo3\/sysext\/frontend\/Classes\/ContentObject\/ContentObjectRenderer.php(859): TYPO3\\CMS\\Frontend\\ContentObject\\ContentObjectRenderer->render(Object(TYPO3\\CMS\\Frontend\\ContentObject\\UserContentObject), Array)\n#12 \/homepages\/35\/d583512602\/htdocs\/libraries\/typo3_src-7.6.18\/typo3\/sysext\/frontend\/Classes\/Controller\/TypoScriptFrontendController.php(3577): TYPO3\\CMS\\Frontend\\ContentObject\\ContentObjectRenderer->cObjGetSingle('USER', Array)\n#13 \/homepages\/35\/d583512602\/htdocs\/libraries\/typo3_src-7.6.18\/typo3\/sysext\/frontend\/Classes\/Controller\/TypoScriptFrontendController.php(3522): TYPO3\\CMS\\Frontend\\Controller\\TypoScriptFrontendController->INTincScript_process(Array)\n#14 \/homepages\/35\/d583512602\/htdocs\/libraries\/typo3_src-7.6.18\/typo3\/sysext\/frontend\/Classes\/Controller\/TypoScriptFrontendController.php(3488): TYPO3\\CMS\\Frontend\\Controller\\TypoScriptFrontendController->recursivelyReplaceIntPlaceholdersInContent()\n#15 \/homepages\/35\/d583512602\/htdocs\/libraries\/typo3_src-7.6.18\/typo3\/sysext\/frontend\/Classes\/Http\/RequestHandler.php(232): TYPO3\\CMS\\Frontend\\Controller\\TypoScriptFrontendController->INTincScript()\n#16 \/homepages\/35\/d583512602\/htdocs\/libraries\/typo3_src-7.6.18\/typo3\/sysext\/core\/Classes\/Core\/Bootstrap.php(302): TYPO3\\CMS\\Frontend\\Http\\RequestHandler->handleRequest(Object(TYPO3\\CMS\\Core\\Http\\ServerRequest))\n#17 \/homepages\/35\/d583512602\/htdocs\/libraries\/typo3_src-7.6.18\/typo3\/sysext\/frontend\/Classes\/Http\/Application.php(78): TYPO3\\CMS\\Core\\Core\\Bootstrap->handleRequest(Object(TYPO3\\CMS\\Core\\Http\\ServerRequest))\n#18 \/homepages\/35\/d583512602\/htdocs\/libraries\/typo3_src-7.6.18\/index.php(33): TYPO3\\CMS\\Frontend\\Http\\Application->run()\n#19 \/homepages\/35\/d583512602\/htdocs\/libraries\/typo3_src-7.6.18\/index.php(34): {closure}()\n#20 {main}"}
Hi all, I've fixed this problem with a patch on powermail around class In2code\Powermail\Domain\Validator\InputValidator.
In method isValidField, this code causes the problem:
/** * Validate a single field * * @param Field $field * @param mixed $value * @return void */ protected function isValidField(Field $field, $value) { // Mandatory Check if ($field->isMandatory()) { if (!$this->validateMandatory($value)) { $this->setErrorAndMessage($field, 'mandatory'); } } //...
In case of a powermail form with confirm step, field with captcha is not in page. The field is mandatory, then powermail sets a validation error. You can work around field->getType() and check the current powermail action. If that is "create", you can skip validation error.
Gianluca
Thanks a lot for your effort! I can not try it right now, but do you think this fix should be applied into the powermail extension? If so, maybe we should open a ticket there, if this issue is not related to this rh_recaptcha extension especially.
Sincerelly, I can't evaluate this. In example at the address https://github.com/einpraegsam/powermail/issues/89, @einpraegsam refers to ext https://github.com/einpraegsam/powermailrecaptcha. May be that the rh_recaptcha extension authors, can be check how has been implemented powermailrecaptcha, and than recode rh_recaptcha ?
This issue happens again (apparently), but I guess this might have to do with our setup:
This only happens, when a confirmation view is activated (I hope this information is somewhat useful).
Regards Tizian