change email address in newsletter when changing default email
put mongo_id into mailchimp merge fields
This commit is contained in:
@@ -4,7 +4,6 @@ Settings = require 'settings-sharelatex'
|
||||
crypto = require('crypto')
|
||||
Mailchimp = require('mailchimp-api-v3')
|
||||
|
||||
|
||||
if !Settings.mailchimp?.api_key?
|
||||
logger.warn "No newsletter provider configured so not chaning email on user"
|
||||
mailchimp =
|
||||
@@ -63,5 +62,6 @@ buildOptions = (user, is_subscribed)->
|
||||
merge_fields:
|
||||
FNAME: user.first_name
|
||||
LNAME: user.last_name
|
||||
MONGO_ID:user._id
|
||||
return opts
|
||||
|
||||
|
||||
@@ -100,15 +100,21 @@ module.exports = UserUpdater =
|
||||
setDefaultEmailAddress: (userId, email, callback) ->
|
||||
email = EmailHelper.parseEmail(email)
|
||||
return callback(new Error('invalid email')) if !email?
|
||||
query = _id: userId, 'emails.email': email
|
||||
update = $set: email: email
|
||||
@updateUser query, update, (error, res) ->
|
||||
if error?
|
||||
logger.err error:error, 'problem setting default emails'
|
||||
UserGetter.getUserEmail userId, (error, oldEmail) =>
|
||||
if err?
|
||||
return callback(error)
|
||||
if res.n == 0 # TODO: Check n or nMatched?
|
||||
return callback(new Error('Default email does not belong to user'))
|
||||
callback()
|
||||
query = _id: userId, 'emails.email': email
|
||||
update = $set: email: email
|
||||
@updateUser query, update, (error, res) ->
|
||||
if error?
|
||||
logger.err error:error, 'problem setting default emails'
|
||||
return callback(error)
|
||||
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
|
||||
|
||||
|
||||
|
||||
updateV1AndSetDefaultEmailAddress: (userId, email, callback) ->
|
||||
@updateEmailAddressInV1 userId, email, (error) =>
|
||||
|
||||
Reference in New Issue
Block a user