add "Admin Approval for IPs", which works like Normal for new users and Admin Approval for sockpuppet accounts (#4882)

v1.18.x
Ben Lubar 9 years ago committed by Julian Lam
parent 754e20eb5c
commit 40b57d6cbe

@ -63,6 +63,16 @@ authenticationController.register = function(req, res, next) {
registerAndLoginUser(req, res, userData, next);
} else if (registrationType === 'admin-approval') {
addToApprovalQueue(req, userData, next);
} else if (registrationType === 'admin-approval-ip') {
db.sortedSetCard('ip:' + req.ip + ':uid', function(err, count) {
if (err) {
next(err);
} else if (count) {
addToApprovalQueue(req, userData, next);
} else {
registerAndLoginUser(req, res, userData, next);
}
});
}
}
], function(err, data) {

@ -113,7 +113,7 @@ Controllers.login = function(req, res, next) {
data.alternate_logins = loginStrategies.length > 0;
data.authentication = loginStrategies;
data.allowLocalLogin = parseInt(meta.config.allowLocalLogin, 10) === 1 || parseInt(req.query.local, 10) === 1;
data.allowRegistration = registrationType === 'normal' || registrationType === 'admin-approval';
data.allowRegistration = registrationType === 'normal' || registrationType === 'admin-approval' || registrationType === 'admin-approval-ip';
data.allowLoginWith = '[[login:' + allowLoginWith + ']]';
data.breadcrumbs = helpers.buildBreadcrumbs([{text: '[[global:login]]'}]);
data.error = req.flash('error')[0] || errorText;

@ -57,7 +57,7 @@ module.exports = function(app, middleware) {
'brand:logo:url': meta.config['brand:logo:url'] || '',
'brand:logo:alt': meta.config['brand:logo:alt'] || '',
'brand:logo:display': meta.config['brand:logo']?'':'hide',
allowRegistration: registrationType === 'normal' || registrationType === 'admin-approval',
allowRegistration: registrationType === 'normal' || registrationType === 'admin-approval' || registrationType === 'admin-approval-ip',
searchEnabled: plugins.hasListeners('filter:search.query'),
config: res.locals.config,
relative_path: nconf.get('relative_path'),

@ -124,6 +124,7 @@
<select class="form-control" data-field="registrationType">
<option value="normal">Normal</option>
<option value="admin-approval">Admin Approval</option>
<option value="admin-approval-ip">Admin Approval for IPs</option>
<option value="invite-only">Invite Only</option>
<option value="admin-invite-only">Admin Invite Only</option>
<option value="disabled">No registration</option>
@ -131,6 +132,7 @@
<p class="help-block">
Normal - Users can register from the /register page.<br/>
Admin Approval - User registrations are placed in an <a href="{config.relative_path}/admin/manage/registration">approval queue</a> for administrators.<br/>
Admin Approval for IPs - Normal for new users, Admin Approval for IP addresses that already have an account.<br/>
Invite Only - Users can invite others from the <a href="{config.relative_path}/users" target="_blank">users</a> page.<br/>
Admin Invite Only - Only administrators can invite others from <a href="{config.relative_path}/users" target="_blank">users</a> and <a href="{config.relative_path}/admin/manage/users">admin/manage/users</a> pages.<br/>
No registration - No user registration.<br/>

Loading…
Cancel
Save