From a52aed907089cb30ab9e6714c0d8b96499fd367a Mon Sep 17 00:00:00 2001 From: Henry Oswald Date: Wed, 7 Feb 2018 14:15:13 +0000 Subject: [PATCH] improved recaptcha error message - works on register and share project - decided not to go down i18n for register, would be scope creep on async form --- .../app/coffee/Features/Captcha/CaptchaMiddleware.coffee | 2 +- services/web/app/views/project/editor/share.pug | 2 ++ .../share/controllers/ShareProjectModalController.coffee | 8 ++++++-- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/services/web/app/coffee/Features/Captcha/CaptchaMiddleware.coffee b/services/web/app/coffee/Features/Captcha/CaptchaMiddleware.coffee index 4a3ce18b5e..c4bd055b0c 100644 --- a/services/web/app/coffee/Features/Captcha/CaptchaMiddleware.coffee +++ b/services/web/app/coffee/Features/Captcha/CaptchaMiddleware.coffee @@ -16,6 +16,6 @@ module.exports = CaptchaMiddleware = return next(error) if error? if !body?.success logger.warn {statusCode: response.statusCode, body: body}, 'failed recaptcha siteverify request' - return res.sendStatus 400 + return res.status(400).send({errorReason:"cannot_verify_user_not_robot", message:{text:"We could not verifiy you are not a robot. Please check Google is not blocked by firewall or adblocker."}}) else return next() diff --git a/services/web/app/views/project/editor/share.pug b/services/web/app/views/project/editor/share.pug index 98568df122..a5430d710a 100644 --- a/services/web/app/views/project/editor/share.pug +++ b/services/web/app/views/project/editor/share.pug @@ -185,6 +185,8 @@ script(type='text/ng-template', id='shareProjectModalTemplate') span(ng-switch="state.errorReason") span(ng-switch-when="cannot_invite_non_user") | #{translate("cannot_invite_non_user")} + span(ng-switch-when="cannot_verify_user_not_robot") + | #{translate("cannot_verify_user_not_robot")} span(ng-switch-when="cannot_invite_self") | #{translate("cannot_invite_self")} span(ng-switch-when="invalid_email") diff --git a/services/web/public/coffee/ide/share/controllers/ShareProjectModalController.coffee b/services/web/public/coffee/ide/share/controllers/ShareProjectModalController.coffee index 0c16dcbb39..0a091dae0b 100644 --- a/services/web/public/coffee/ide/share/controllers/ShareProjectModalController.coffee +++ b/services/web/public/coffee/ide/share/controllers/ShareProjectModalController.coffee @@ -127,10 +127,14 @@ define [ # with new collaborator information. addNextMember() , 0 - .catch (err) -> + .catch (httpResponse) -> + {data, status, headers, config } = httpResponse $scope.state.inflight = false $scope.state.error = true - if err.status? and err.status == 400 + + if data?.errorReason? + $scope.state.errorReason = data?.errorReason + else if status? and status == 400 $scope.state.errorReason = 'invalid_email' else $scope.state.errorReason = null