Эх сурвалжийг харах

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 жил өмнө
parent
commit
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
 			else if err? and err?.message?.indexOf("could not be validated") != -1
 				logger.log {oldEmail, newEmail}, 
 				logger.log {oldEmail, newEmail}, 
 					"unable to change email in newsletter, user has previously unsubscribed or new email already exist on list"
 					"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
 			else if err? and err.message.indexOf("is already a list member") != -1
 				logger.log {oldEmail, newEmail},
 				logger.log {oldEmail, newEmail},
 					"unable to change email in newsletter, new email is already on mailing list"
 					"unable to change email in newsletter, new email is already on mailing list"
 				return callback()
 				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?
 			else if err?
 				logger.err {err, oldEmail, newEmail}, "error changing email in newsletter"
 				logger.err {err, oldEmail, newEmail}, "error changing email in newsletter"
 				return callback(err)
 				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?
 				else if res.n == 0 # TODO: Check n or nMatched?
 					return callback(new Error('Default email does not belong to user'))
 					return callback(new Error('Default email does not belong to user'))
 				else
 				else
-					NewsletterManager.changeEmail oldEmail, email, callback
+					NewsletterManager.changeEmail oldEmail, email, ->
+					callback()