New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

nodebb-plugin-newuser-approval

Package Overview
Dependencies
Maintainers
1
Versions
9
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

nodebb-plugin-newuser-approval - npm Package Compare versions

Comparing version 1.0.0 to 1.0.1

64

library.js
'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 @@

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc