Fixed device notification email language translation, #3513
This commit is contained in:
parent
7fe8766314
commit
0817690eef
|
@ -679,7 +679,7 @@ module.exports.CreateMeshMail = function (parent, domain) {
|
||||||
if (domain == null) return;
|
if (domain == null) return;
|
||||||
|
|
||||||
// Send the email
|
// Send the email
|
||||||
obj.sendDeviceNotifyMail(domain, user.name, user.email, connections, disconnections, 'us-en', null);
|
obj.sendDeviceNotifyMail(domain, user.name, user.email, connections, disconnections, user.llang, null);
|
||||||
|
|
||||||
// Clean up
|
// Clean up
|
||||||
delete obj.deviceNotifications[userid];
|
delete obj.deviceNotifications[userid];
|
||||||
|
|
14
webserver.js
14
webserver.js
|
@ -2777,7 +2777,7 @@ module.exports.CreateWebServer = function (parent, db, args, certificates, doneF
|
||||||
webstate: encodeURIComponent(webstate).replace(/'/g, '%27'),
|
webstate: encodeURIComponent(webstate).replace(/'/g, '%27'),
|
||||||
amtscanoptions: amtscanoptions,
|
amtscanoptions: amtscanoptions,
|
||||||
pluginHandler: (parent.pluginHandler == null) ? 'null' : parent.pluginHandler.prepExports()
|
pluginHandler: (parent.pluginHandler == null) ? 'null' : parent.pluginHandler.prepExports()
|
||||||
}, dbGetFunc.req, domain));
|
}, dbGetFunc.req, domain), user);
|
||||||
}
|
}
|
||||||
xdbGetFunc.req = req;
|
xdbGetFunc.req = req;
|
||||||
xdbGetFunc.res = res;
|
xdbGetFunc.res = res;
|
||||||
|
@ -7616,7 +7616,7 @@ module.exports.CreateWebServer = function (parent, db, args, certificates, doneF
|
||||||
}
|
}
|
||||||
|
|
||||||
// Render a page using the proper language
|
// Render a page using the proper language
|
||||||
function render(req, res, filename, args) {
|
function render(req, res, filename, args, user) {
|
||||||
if (obj.renderPages != null) {
|
if (obj.renderPages != null) {
|
||||||
// Get the list of acceptable languages in order
|
// Get the list of acceptable languages in order
|
||||||
var acceptLanguages = obj.getLanguageCodes(req);
|
var acceptLanguages = obj.getLanguageCodes(req);
|
||||||
|
@ -7625,19 +7625,25 @@ module.exports.CreateWebServer = function (parent, db, args, certificates, doneF
|
||||||
var fileOptions = obj.renderPages[obj.path.basename(filename)];
|
var fileOptions = obj.renderPages[obj.path.basename(filename)];
|
||||||
if (fileOptions != null) {
|
if (fileOptions != null) {
|
||||||
for (var i in acceptLanguages) {
|
for (var i in acceptLanguages) {
|
||||||
if ((acceptLanguages[i] == 'en') || (acceptLanguages[i].startsWith('en-'))) { args.lang = 'en'; break; } // English requested, break out.
|
if ((acceptLanguages[i] == 'en') || (acceptLanguages[i].startsWith('en-'))) {
|
||||||
|
// English requested
|
||||||
|
args.lang = 'en';
|
||||||
|
if (user && (user.llang != 'en')) { user.llang = 'en'; obj.db.SetUser(user); } // Set user 'last language' used if needed.
|
||||||
|
break;
|
||||||
|
}
|
||||||
if (fileOptions[acceptLanguages[i]] != null) {
|
if (fileOptions[acceptLanguages[i]] != null) {
|
||||||
// Found a match. If the file no longer exists, default to English.
|
// Found a match. If the file no longer exists, default to English.
|
||||||
obj.fs.exists(fileOptions[acceptLanguages[i]] + '.handlebars', function (exists) {
|
obj.fs.exists(fileOptions[acceptLanguages[i]] + '.handlebars', function (exists) {
|
||||||
if (exists) { args.lang = acceptLanguages[i]; res.render(fileOptions[acceptLanguages[i]], args); } else { args.lang = 'en'; res.render(filename, args); }
|
if (exists) { args.lang = acceptLanguages[i]; res.render(fileOptions[acceptLanguages[i]], args); } else { args.lang = 'en'; res.render(filename, args); }
|
||||||
});
|
});
|
||||||
|
if (user && (user.llang != acceptLanguages[i])) { user.llang = acceptLanguages[i]; obj.db.SetUser(user); } // Set user 'last language' used if needed.
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// No matches found, render the default english page.
|
// No matches found, render the default English page.
|
||||||
res.render(filename, args);
|
res.render(filename, args);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue