From 7652e808007c34d081899182dbdd46f1425a5bce Mon Sep 17 00:00:00 2001 From: Ersun Warncke Date: Tue, 9 Oct 2018 06:55:14 -0400 Subject: [PATCH 1/2] add account merge error --- .../app/coffee/Features/Errors/ErrorController.coffee | 8 ++++++++ services/web/app/coffee/Features/Errors/Errors.coffee | 8 ++++++++ .../web/app/views/general/account-merge-error.pug | 11 +++++++++++ 3 files changed, 27 insertions(+) create mode 100644 services/web/app/views/general/account-merge-error.pug diff --git a/services/web/app/coffee/Features/Errors/ErrorController.coffee b/services/web/app/coffee/Features/Errors/ErrorController.coffee index 50f0ba3c06..25760bb1c3 100644 --- a/services/web/app/coffee/Features/Errors/ErrorController.coffee +++ b/services/web/app/coffee/Features/Errors/ErrorController.coffee @@ -13,6 +13,11 @@ module.exports = ErrorController = res.render 'general/500', title: "Server Error" + accountMergeError: (req, res)-> + res.status(500) + res.render 'general/account-merge-error', + title: "Account Access Error" + handleError: (error, req, res, next) -> user = AuthenticationController.getSessionUser(req) if error?.code is 'EBADCSRFTOKEN' @@ -33,6 +38,9 @@ module.exports = ErrorController = logger.warn {err: error, url: req.url}, "invalid name error" res.status(400) res.send(error.message) + else if error instanceof Errors.AccountMergeError + logger.error err: error, "account merge error" + ErrorController.accountMergeError req, res else logger.error err: error, url:req.url, method:req.method, user:user, "error passed to top level next middlewear" ErrorController.serverError req, res diff --git a/services/web/app/coffee/Features/Errors/Errors.coffee b/services/web/app/coffee/Features/Errors/Errors.coffee index 3239bbbb58..0b20992faa 100644 --- a/services/web/app/coffee/Features/Errors/Errors.coffee +++ b/services/web/app/coffee/Features/Errors/Errors.coffee @@ -89,6 +89,13 @@ InvalidError = (message) -> return error InvalidError.prototype.__proto__ = Error.prototype +AccountMergeError = (message) -> + error = new Error(message) + error.name = "AccountMergeError" + error.__proto__ = AccountMergeError.prototype + return error +AccountMergeError.prototype.__proto__ = Error.prototype + module.exports = Errors = NotFoundError: NotFoundError ServiceNotConfiguredError: ServiceNotConfiguredError @@ -103,3 +110,4 @@ module.exports = Errors = UnconfirmedEmailError: UnconfirmedEmailError EmailExistsError: EmailExistsError InvalidError: InvalidError + AccountMergeError: AccountMergeError diff --git a/services/web/app/views/general/account-merge-error.pug b/services/web/app/views/general/account-merge-error.pug new file mode 100644 index 0000000000..70c5113781 --- /dev/null +++ b/services/web/app/views/general/account-merge-error.pug @@ -0,0 +1,11 @@ +extends ../layout + +block content + .content.content-alt + .container + .row + .col-md-6.col-md-offset-3 + .card + .page-header + h1 Account Access Error + p.text-danger Sorry, an error occurred accessing your account. Please #[a(href="" ng-controller="ContactModal" ng-click="contactUsModal()") contact support] for assistance. From 8719eff1d773fbc4afdc9bfb8e0e2454a04d7e2b Mon Sep 17 00:00:00 2001 From: Ersun Warncke Date: Tue, 9 Oct 2018 11:44:59 -0400 Subject: [PATCH 2/2] update error message --- services/web/app/views/general/account-merge-error.pug | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/web/app/views/general/account-merge-error.pug b/services/web/app/views/general/account-merge-error.pug index 70c5113781..68af40a267 100644 --- a/services/web/app/views/general/account-merge-error.pug +++ b/services/web/app/views/general/account-merge-error.pug @@ -8,4 +8,4 @@ block content .card .page-header h1 Account Access Error - p.text-danger Sorry, an error occurred accessing your account. Please #[a(href="" ng-controller="ContactModal" ng-click="contactUsModal()") contact support] for assistance. + p.text-danger Sorry, an error occurred accessing your account. Please #[a(href="" ng-controller="ContactModal" ng-click="contactUsModal()") contact support] and provide any email addresses that you have used to sign in to Overleaf and/or ShareLaTeX for assistance.