mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-11-17 19:21:04 +01:00
This commit is contained in:
@@ -45,5 +45,6 @@
|
||||
"notificationType_new-reply": "notification",
|
||||
"notificationType_follow": "notification",
|
||||
"notificationType_new-chat": "notification",
|
||||
"notificationType_group-invite": "notification"
|
||||
"notificationType_group-invite": "notification",
|
||||
"notificationType_mention": "notification"
|
||||
}
|
||||
|
||||
@@ -4,6 +4,7 @@ var async = require('async');
|
||||
|
||||
var meta = require('../../meta');
|
||||
var emailer = require('../../emailer');
|
||||
var plugins = require('../../plugins');
|
||||
|
||||
var settingsController = module.exports;
|
||||
|
||||
@@ -14,7 +15,9 @@ settingsController.get = function (req, res, next) {
|
||||
case 'email':
|
||||
renderEmail(req, res, next);
|
||||
break;
|
||||
|
||||
case 'user':
|
||||
renderUser(req, res, next);
|
||||
break;
|
||||
default:
|
||||
res.render('admin/settings/' + term);
|
||||
}
|
||||
@@ -22,14 +25,14 @@ settingsController.get = function (req, res, next) {
|
||||
|
||||
|
||||
function renderEmail(req, res, next) {
|
||||
async.waterfall([
|
||||
function (next) {
|
||||
async.parallel({
|
||||
emails: async.apply(emailer.getTemplates, meta.config),
|
||||
services: emailer.listServices,
|
||||
}, function (err, results) {
|
||||
if (err) {
|
||||
return next(err);
|
||||
}
|
||||
|
||||
}, next);
|
||||
},
|
||||
function (results) {
|
||||
res.render('admin/settings/email', {
|
||||
emails: results.emails,
|
||||
sendable: results.emails.filter(function (email) {
|
||||
@@ -37,5 +40,38 @@ function renderEmail(req, res, next) {
|
||||
}),
|
||||
services: results.services,
|
||||
});
|
||||
});
|
||||
},
|
||||
], next);
|
||||
}
|
||||
|
||||
function renderUser(req, res, next) {
|
||||
var types = [
|
||||
'notificationType_upvote',
|
||||
'notificationType_new-topic',
|
||||
'notificationType_new-reply',
|
||||
'notificationType_follow',
|
||||
'notificationType_new-chat',
|
||||
'notificationType_group-invite',
|
||||
];
|
||||
|
||||
async.waterfall([
|
||||
function (next) {
|
||||
plugins.fireHook('filter:user.notificationTypes', {
|
||||
userData: {},
|
||||
types: types,
|
||||
privilegedTypes: [],
|
||||
}, next);
|
||||
},
|
||||
function (results) {
|
||||
var notificationSettings = results.types.map(function modifyType(type) {
|
||||
return {
|
||||
name: type,
|
||||
label: '[[notifications:' + type + ']]',
|
||||
};
|
||||
});
|
||||
res.render('admin/settings/user', {
|
||||
notificationSettings: notificationSettings,
|
||||
});
|
||||
},
|
||||
], next);
|
||||
}
|
||||
|
||||
@@ -292,77 +292,14 @@
|
||||
</div>
|
||||
|
||||
<label>[[admin/settings/user:default-notification-settings]]</label>
|
||||
|
||||
<!-- BEGIN notificationSettings -->
|
||||
<div class="row">
|
||||
<div class="form-group col-xs-7">
|
||||
<label>[[notifications:notificationType_upvote]]</label>
|
||||
<label>{notificationSettings.label}</label>
|
||||
</div>
|
||||
<div class="form-group col-xs-5">
|
||||
<select class="form-control" data-field="notificationType_upvote">
|
||||
<option value="none">[[notifications:none]]</option>
|
||||
<option value="notification">[[notifications:notification_only]]</option>
|
||||
<option value="email">[[notifications:email_only]]</option>
|
||||
<option value="notificationemail">[[notifications:notification_and_email]]</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="form-group col-xs-7">
|
||||
<label>[[notifications:notificationType_new-topic]]</label>
|
||||
</div>
|
||||
<div class="form-group col-xs-5">
|
||||
<select class="form-control" data-field="notificationType_new-topic">
|
||||
<option value="none">[[notifications:none]]</option>
|
||||
<option value="notification">[[notifications:notification_only]]</option>
|
||||
<option value="email">[[notifications:email_only]]</option>
|
||||
<option value="notificationemail">[[notifications:notification_and_email]]</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="form-group col-xs-7">
|
||||
<label>[[notifications:notificationType_new-reply]]</label>
|
||||
</div>
|
||||
<div class="form-group col-xs-5">
|
||||
<select class="form-control" data-field="notificationType_new-reply">
|
||||
<option value="none">[[notifications:none]]</option>
|
||||
<option value="notification">[[notifications:notification_only]]</option>
|
||||
<option value="email">[[notifications:email_only]]</option>
|
||||
<option value="notificationemail">[[notifications:notification_and_email]]</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="form-group col-xs-7">
|
||||
<label>[[notifications:notificationType_follow]]</label>
|
||||
</div>
|
||||
<div class="form-group col-xs-5">
|
||||
<select class="form-control" data-field="notificationType_follow">
|
||||
<option value="none">[[notifications:none]]</option>
|
||||
<option value="notification">[[notifications:notification_only]]</option>
|
||||
<option value="email">[[notifications:email_only]]</option>
|
||||
<option value="notificationemail">[[notifications:notification_and_email]]</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="form-group col-xs-7">
|
||||
<label>[[notifications:notificationType_new-chat]]</label>
|
||||
</div>
|
||||
<div class="form-group col-xs-5">
|
||||
<select class="form-control" data-field="notificationType_new-chat">
|
||||
<option value="none">[[notifications:none]]</option>
|
||||
<option value="notification">[[notifications:notification_only]]</option>
|
||||
<option value="email">[[notifications:email_only]]</option>
|
||||
<option value="notificationemail">[[notifications:notification_and_email]]</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="form-group col-xs-7">
|
||||
<label>[[notifications:notificationType_group-invite]]</label>
|
||||
</div>
|
||||
<div class="form-group col-xs-5">
|
||||
<select class="form-control" data-field="notificationType_group-invite">
|
||||
<select class="form-control" data-field="{notificationSettings.name}">
|
||||
<option value="none">[[notifications:none]]</option>
|
||||
<option value="notification">[[notifications:notification_only]]</option>
|
||||
<option value="email">[[notifications:email_only]]</option>
|
||||
@@ -370,6 +307,8 @@
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<!-- END notificationSettings -->
|
||||
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user