translation: asyncify
This commit is contained in:
+53
-59
@@ -108,31 +108,29 @@ function sendInvite(user, invitor, inviteLink) {
|
||||
|
||||
debug('Sending invite mail');
|
||||
|
||||
getMailConfig(function (error, mailConfig) {
|
||||
getMailConfig(async function (error, mailConfig) {
|
||||
if (error) return debug('Error getting mail details:', error);
|
||||
|
||||
translation.getTranslations(function (error, translationAssets) {
|
||||
if (error) return debug('Error getting translations:', error);
|
||||
const translationAssets = await translation.getTranslations();
|
||||
|
||||
var templateData = {
|
||||
user: user.displayName || user.username || user.email,
|
||||
webadminUrl: settings.dashboardOrigin(),
|
||||
inviteLink: inviteLink,
|
||||
invitor: invitor ? invitor.email : null,
|
||||
cloudronName: mailConfig.cloudronName,
|
||||
cloudronAvatarUrl: settings.dashboardOrigin() + '/api/v1/cloudron/avatar'
|
||||
};
|
||||
const templateData = {
|
||||
user: user.displayName || user.username || user.email,
|
||||
webadminUrl: settings.dashboardOrigin(),
|
||||
inviteLink: inviteLink,
|
||||
invitor: invitor ? invitor.email : null,
|
||||
cloudronName: mailConfig.cloudronName,
|
||||
cloudronAvatarUrl: settings.dashboardOrigin() + '/api/v1/cloudron/avatar'
|
||||
};
|
||||
|
||||
var mailOptions = {
|
||||
from: mailConfig.notificationFrom,
|
||||
to: user.fallbackEmail,
|
||||
subject: ejs.render(translation.translate('{{ welcomeEmail.subject }}', translationAssets.translations || {}, translationAssets.fallback || {}), { cloudron: mailConfig.cloudronName }),
|
||||
text: render('welcome_user-text.ejs', templateData, translationAssets),
|
||||
html: render('welcome_user-html.ejs', templateData, translationAssets)
|
||||
};
|
||||
const mailOptions = {
|
||||
from: mailConfig.notificationFrom,
|
||||
to: user.fallbackEmail,
|
||||
subject: ejs.render(translation.translate('{{ welcomeEmail.subject }}', translationAssets.translations || {}, translationAssets.fallback || {}), { cloudron: mailConfig.cloudronName }),
|
||||
text: render('welcome_user-text.ejs', templateData, translationAssets),
|
||||
html: render('welcome_user-html.ejs', templateData, translationAssets)
|
||||
};
|
||||
|
||||
sendMail(mailOptions);
|
||||
});
|
||||
sendMail(mailOptions);
|
||||
});
|
||||
}
|
||||
|
||||
@@ -149,32 +147,30 @@ function sendNewLoginLocation(user, loginLocation) {
|
||||
|
||||
debug('Sending new login location mail');
|
||||
|
||||
getMailConfig(function (error, mailConfig) {
|
||||
getMailConfig(async function (error, mailConfig) {
|
||||
if (error) return debug('Error getting mail details:', error);
|
||||
|
||||
translation.getTranslations(function (error, translationAssets) {
|
||||
if (error) return debug('Error getting translations:', error);
|
||||
const translationAssets = await translation.getTranslations();
|
||||
|
||||
const templateData = {
|
||||
user: user.displayName || user.username || user.email,
|
||||
ip,
|
||||
userAgent: userAgent || 'unknown',
|
||||
country,
|
||||
city,
|
||||
cloudronName: mailConfig.cloudronName,
|
||||
cloudronAvatarUrl: settings.dashboardOrigin() + '/api/v1/cloudron/avatar'
|
||||
};
|
||||
const templateData = {
|
||||
user: user.displayName || user.username || user.email,
|
||||
ip,
|
||||
userAgent: userAgent || 'unknown',
|
||||
country,
|
||||
city,
|
||||
cloudronName: mailConfig.cloudronName,
|
||||
cloudronAvatarUrl: settings.dashboardOrigin() + '/api/v1/cloudron/avatar'
|
||||
};
|
||||
|
||||
const mailOptions = {
|
||||
from: mailConfig.notificationFrom,
|
||||
to: user.fallbackEmail,
|
||||
subject: ejs.render(translation.translate('{{ newLoginEmail.subject }}', translationAssets.translations || {}, translationAssets.fallback || {}), { cloudron: mailConfig.cloudronName }),
|
||||
text: render('new_login_location-text.ejs', templateData, translationAssets),
|
||||
html: render('new_login_location-html.ejs', templateData, translationAssets)
|
||||
};
|
||||
const mailOptions = {
|
||||
from: mailConfig.notificationFrom,
|
||||
to: user.fallbackEmail,
|
||||
subject: ejs.render(translation.translate('{{ newLoginEmail.subject }}', translationAssets.translations || {}, translationAssets.fallback || {}), { cloudron: mailConfig.cloudronName }),
|
||||
text: render('new_login_location-text.ejs', templateData, translationAssets),
|
||||
html: render('new_login_location-html.ejs', templateData, translationAssets)
|
||||
};
|
||||
|
||||
sendMail(mailOptions);
|
||||
});
|
||||
sendMail(mailOptions);
|
||||
});
|
||||
}
|
||||
|
||||
@@ -183,29 +179,27 @@ function passwordReset(user) {
|
||||
|
||||
debug('Sending mail for password reset for user %s.', user.email, user.id);
|
||||
|
||||
getMailConfig(function (error, mailConfig) {
|
||||
getMailConfig(async function (error, mailConfig) {
|
||||
if (error) return debug('Error getting mail details:', error);
|
||||
|
||||
translation.getTranslations(function (error, translationAssets) {
|
||||
if (error) return debug('Error getting translations:', error);
|
||||
const translationAssets = await translation.getTranslations();
|
||||
|
||||
var templateData = {
|
||||
user: user.displayName || user.username || user.email,
|
||||
resetLink: `${settings.dashboardOrigin()}/login.html?resetToken=${user.resetToken}`,
|
||||
cloudronName: mailConfig.cloudronName,
|
||||
cloudronAvatarUrl: settings.dashboardOrigin() + '/api/v1/cloudron/avatar'
|
||||
};
|
||||
const templateData = {
|
||||
user: user.displayName || user.username || user.email,
|
||||
resetLink: `${settings.dashboardOrigin()}/login.html?resetToken=${user.resetToken}`,
|
||||
cloudronName: mailConfig.cloudronName,
|
||||
cloudronAvatarUrl: settings.dashboardOrigin() + '/api/v1/cloudron/avatar'
|
||||
};
|
||||
|
||||
var mailOptions = {
|
||||
from: mailConfig.notificationFrom,
|
||||
to: user.fallbackEmail,
|
||||
subject: ejs.render(translation.translate('{{ passwordResetEmail.subject }}', translationAssets.translations || {}, translationAssets.fallback || {}), { cloudron: mailConfig.cloudronName }),
|
||||
text: render('password_reset-text.ejs', templateData, translationAssets),
|
||||
html: render('password_reset-html.ejs', templateData, translationAssets)
|
||||
};
|
||||
const mailOptions = {
|
||||
from: mailConfig.notificationFrom,
|
||||
to: user.fallbackEmail,
|
||||
subject: ejs.render(translation.translate('{{ passwordResetEmail.subject }}', translationAssets.translations || {}, translationAssets.fallback || {}), { cloudron: mailConfig.cloudronName }),
|
||||
text: render('password_reset-text.ejs', templateData, translationAssets),
|
||||
html: render('password_reset-html.ejs', templateData, translationAssets)
|
||||
};
|
||||
|
||||
sendMail(mailOptions);
|
||||
});
|
||||
sendMail(mailOptions);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user