Files
NodeBB/src/controllers/admin/settings.js
Peter Jaszkowiak 4fcedc6f31 Enable imports in custom email templates (#6052)
* Enable imports in custom email templates

* Compile emails on config change

* Add error logging

* Add emailer tests

* Fix tests

* Only build when config changes
2017-11-21 10:51:20 -05:00

42 lines
900 B
JavaScript

'use strict';
var async = require('async');
var meta = require('../../meta');
var emailer = require('../../emailer');
var settingsController = module.exports;
settingsController.get = function (req, res, next) {
var term = req.params.term ? req.params.term : 'general';
switch (req.params.term) {
case 'email':
renderEmail(req, res, next);
break;
default:
res.render('admin/settings/' + term);
}
};
function renderEmail(req, res, next) {
async.parallel({
emails: async.apply(emailer.getTemplates, meta.config),
services: emailer.listServices,
}, function (err, results) {
if (err) {
return next(err);
}
res.render('admin/settings/email', {
emails: results.emails,
sendable: results.emails.filter(function (email) {
return email.path.indexOf('_plaintext') === -1 && email.path.indexOf('partials') === -1;
}),
services: results.services,
});
});
}