nodebb-plugin-newuser-approval
Advanced tools
Comparing version 1.0.0 to 1.0.1
'use strict'; | ||
var winston = module.parent.require('winston'), | ||
Meta = module.parent.require('./meta'), | ||
SocketAdmin = module.parent.require('./socket.io/admin'), | ||
Groups = module.parent.require('./groups'), | ||
User = module.parent.require('./user'), | ||
Posts = module.parent.require('./posts'), | ||
Topics = module.parent.require('./topics'), | ||
Approval = {}, | ||
nonapprovedUserGroup = null, | ||
approvedUserGroup = null; | ||
var winston = module.parent.require('winston'); | ||
var Meta = module.parent.require('./meta'); | ||
var SocketAdmin = module.parent.require('./socket.io/admin'); | ||
var Groups = module.parent.require('./groups'); | ||
var User = module.parent.require('./user'); | ||
var Posts = module.parent.require('./posts'); | ||
var Topics = module.parent.require('./topics'); | ||
var Approval = {}; | ||
var nonapprovedUserGroup = null; | ||
var approvedUserGroup = null; | ||
Approval.init = function(params, callback) { | ||
SocketAdmin.approval = { | ||
getUnapprovedUsers: function(socket, data, callback) { | ||
Approval.getUnapprovedUsers({userData: true}, callback); | ||
Approval.getUnapprovedUsers({ | ||
userData: true | ||
}, callback); | ||
}, | ||
@@ -28,3 +30,3 @@ approveUser: function(socket, data, callback) { | ||
}; | ||
function render(req, res, next) { | ||
@@ -34,14 +36,15 @@ res.render('admin/plugins/newuser-approval', {}); | ||
Meta.settings.get('newuser-approval', function(err, settings) { | ||
Meta.settings.get('newuser-approval', function(err, settings) { | ||
if (!err && settings && settings.approvedUserGroup && settings.nonapprovedUserGroup) { | ||
approvedUserGroup = settings.approvedUserGroup; | ||
nonapprovedUserGroup = settings.nonapprovedUserGroup; | ||
} else { | ||
nonapprovedUserGroup = settings.nonapprovedUserGroup; | ||
} | ||
else { | ||
winston.error('[plugins/newuser-approval] User groups not set!'); | ||
} | ||
}); | ||
params.router.get('/admin/plugins/newuser-approval', params.middleware.admin.buildHeader, render); | ||
params.router.get('/api/admin/plugins/newuser-approval', render); | ||
callback(); | ||
@@ -51,12 +54,12 @@ }; | ||
Approval.moveUserToGroup = function(userData) { | ||
if (nonapprovedUserGroup != null) { | ||
Groups.join(nonapprovedUserGroup, userData.uid); | ||
} | ||
if (nonapprovedUserGroup != null) { | ||
Groups.join(nonapprovedUserGroup, userData.uid); | ||
} | ||
}; | ||
Approval.approveUser = function(userData, callback) { | ||
if (approvedUserGroup != null) { | ||
Groups.leave(nonapprovedUserGroup, userData.uid); | ||
Groups.join(approvedUserGroup, userData.uid, callback); | ||
} | ||
if (approvedUserGroup != null) { | ||
Groups.leave(nonapprovedUserGroup, userData.uid); | ||
Groups.join(approvedUserGroup, userData.uid, callback); | ||
} | ||
}; | ||
@@ -142,4 +145,3 @@ | ||
callback(null, data); | ||
} | ||
else { | ||
} else { | ||
callback(null, data); | ||
@@ -155,8 +157,6 @@ } | ||
winston.error(err.message); | ||
} | ||
else { | ||
} else { | ||
if(options.userData) { | ||
User.getUsersData(members, callback); | ||
} | ||
else { | ||
} else { | ||
callback(null, members); | ||
@@ -163,0 +163,0 @@ } |
{ | ||
"name": "nodebb-plugin-newuser-approval", | ||
"version": "1.0.0", | ||
"version": "1.0.1", | ||
"description": "A plugin for NodeBB to allow admins to approve new users.", | ||
@@ -26,4 +26,4 @@ "main": "library.js", | ||
"nbbpm": { | ||
"compatibility": "^0.9.0" | ||
"compatibility": "^1.0.0" | ||
} | ||
} | ||
} |
@@ -18,5 +18,5 @@ { | ||
], | ||
"scripts": [ | ||
"acpScripts": [ | ||
"public/js/acp.js" | ||
] | ||
} |
'use strict'; | ||
/* globals define, $, socket, ajaxify, app */ | ||
/* globals define, $, socket, app */ | ||
@@ -8,39 +8,41 @@ define('admin/plugins/newuser-approval', ['settings'], function(Settings) { | ||
Admin.init = function() { | ||
Admin.initSettings(); | ||
Admin.loadNewUsers(); | ||
$('.users-list').on('click', '[data-action]', function(ev) { | ||
var $this = this; | ||
var parent = $(this).parents('[data-uid]'); | ||
var action = $(this).attr('data-action'); | ||
var uid = parent.attr('data-uid'); | ||
var method = action === 'accept' ? 'admin.approval.approveUser' : 'admin.approval.deleteUser'; | ||
socket.emit(method, {uid: uid}, function(err) { | ||
if (err) { | ||
return app.alertError(err.message); | ||
} | ||
parent.remove(); | ||
}); | ||
return false; | ||
}); | ||
Admin.initSettings(); | ||
Admin.loadNewUsers(); | ||
$('.users-list').on('click', '[data-action]', function(ev) { | ||
var $this = this; | ||
var parent = $(this).parents('[data-uid]'); | ||
var action = $(this).attr('data-action'); | ||
var uid = parent.attr('data-uid'); | ||
var method = action === 'accept' ? 'admin.approval.approveUser' : 'admin.approval.deleteUser'; | ||
socket.emit(method, { | ||
uid: uid | ||
}, function(err) { | ||
if (err) { | ||
return app.alertError(err.message); | ||
} | ||
parent.remove(); | ||
}); | ||
return false; | ||
}); | ||
}; | ||
Admin.initSettings = function() { | ||
Settings.load('newuser-approval', $('.newuser-approval-settings')); | ||
$('#save').on('click', function() { | ||
Settings.save('newuser-approval', $('.newuser-approval-settings'), function() { | ||
app.alert({ | ||
type: 'success', | ||
alert_id: 'newuser-approval-saved', | ||
title: 'Settings Saved', | ||
message: 'Click here to reload NodeBB', | ||
timeout: 2500, | ||
clickfn: function() { | ||
socket.emit('admin.reload'); | ||
} | ||
}); | ||
}); | ||
}); | ||
Settings.load('newuser-approval', $('.newuser-approval-settings')); | ||
$('#save').on('click', function() { | ||
Settings.save('newuser-approval', $('.newuser-approval-settings'), function() { | ||
app.alert({ | ||
type: 'success', | ||
alert_id: 'newuser-approval-saved', | ||
title: 'Settings Saved', | ||
message: 'Click here to reload NodeBB', | ||
timeout: 2500, | ||
clickfn: function() { | ||
socket.emit('admin.reload'); | ||
} | ||
}); | ||
}); | ||
}); | ||
}; | ||
@@ -50,20 +52,19 @@ | ||
socket.emit('admin.approval.getUnapprovedUsers', {}, function(err, data) { | ||
if(err) { | ||
console.log(err); | ||
} | ||
else { | ||
if(data.length > 0) { | ||
for (var x = 0; x < data.length; x++) { | ||
var html = $('<tr />') | ||
.attr('data-uid', data[x].uid) | ||
.append($('<td />').append($('<a />').attr('href', '/user/'+data[x].username).attr( 'target', '_blank').html(data[x].username))) | ||
.append($('<td />').html(data[x].email)) | ||
.append($('<td />').html(data[x].topiccount)) | ||
.append($('<td />').html(data[x].postcount)) | ||
.append('<td><div class="btn-group pull-right"><button class="btn btn-success btn-xs" data-action="accept"><i class="fa fa-check"></i></button><button class="btn btn-danger btn-xs" data-action="delete"><i class="fa fa-times"></i></button></div></td>'); | ||
$('.users-list').append(html); | ||
} | ||
} | ||
} | ||
}); | ||
if (err) { | ||
console.log(err); | ||
} else { | ||
if (data.length > 0) { | ||
for (var x = 0; x < data.length; x++) { | ||
var html = $('<tr />') | ||
.attr('data-uid', data[x].uid) | ||
.append($('<td />').append($('<a />').attr('href', '/user/' + data[x].username).attr('target', '_blank').html(data[x].username))) | ||
.append($('<td />').html(data[x].email)) | ||
.append($('<td />').html(data[x].topiccount)) | ||
.append($('<td />').html(data[x].postcount)) | ||
.append('<td><div class="btn-group pull-right"><button class="btn btn-success btn-xs" data-action="accept"><i class="fa fa-check"></i></button><button class="btn btn-danger btn-xs" data-action="delete"><i class="fa fa-times"></i></button></div></td>'); | ||
$('.users-list').append(html); | ||
} | ||
} | ||
} | ||
}); | ||
} | ||
@@ -70,0 +71,0 @@ |
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
234
0
11462
6