Pārlūkot izejas kodu

Merge pull request #881 from sharelatex/ho-change-email-fire-forget

change email: catch invalid emails and don't pass the error back on invalid requests
Timothée Alby 8 gadi atpakaļ
vecāks
revīzija
012d341df6

+ 5 - 1
services/web/app/coffee/Features/Newsletter/NewsletterManager.coffee

@@ -46,11 +46,15 @@ module.exports =
 			else if err? and err?.message?.indexOf("could not be validated") != -1
 				logger.log {oldEmail, newEmail}, 
 					"unable to change email in newsletter, user has previously unsubscribed or new email already exist on list"
-				return callback(err)
+				return callback()
 			else if err? and err.message.indexOf("is already a list member") != -1
 				logger.log {oldEmail, newEmail},
 					"unable to change email in newsletter, new email is already on mailing list"
 				return callback()
+			else if err? and err?.message?.indexOf("looks fake or invalid") != -1
+				logger.log {oldEmail, newEmail},
+					"unable to change email in newsletter, email looks fake to mailchimp"
+				return callback()
 			else if err?
 				logger.err {err, oldEmail, newEmail}, "error changing email in newsletter"
 				return callback(err)

+ 2 - 1
services/web/app/coffee/Features/User/UserUpdater.coffee

@@ -112,7 +112,8 @@ module.exports = UserUpdater =
 				else if res.n == 0 # TODO: Check n or nMatched?
 					return callback(new Error('Default email does not belong to user'))
 				else
-					NewsletterManager.changeEmail oldEmail, email, callback
+					NewsletterManager.changeEmail oldEmail, email, ->
+					callback()