mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-11-01 19:46:01 +01:00
Finished adding a new delete to also remove the reference from the invites list on the APM.
This commit is contained in:
@@ -25,13 +25,14 @@ define('admin/manage/registration', function() {
|
||||
|
||||
$('.invites-list').on('click', '[data-action]', function(ev) {
|
||||
var $this = this;
|
||||
var parent = $(this).parents('[data-invitation-mail]');
|
||||
var parent = $(this).parents('[data-invitation-mail][data-invited-by]');
|
||||
var email = parent.attr('data-invitation-mail');
|
||||
var invitedBy = parent.attr('data-invited-by');
|
||||
var action = $(this).attr('data-action');
|
||||
var method = 'admin.user.deleteInvitation';
|
||||
|
||||
if (action === 'delete') {
|
||||
socket.emit(method, {email: email}, function(err) {
|
||||
socket.emit(method, {email: email, invitedBy: invitedBy}, function(err) {
|
||||
if (err) {
|
||||
return app.alertError(err.message);
|
||||
}
|
||||
|
||||
@@ -93,7 +93,7 @@ function registerAndLoginUser(req, res, userData, callback) {
|
||||
}
|
||||
},
|
||||
function(next) {
|
||||
user.deleteInvitation(userData.email);
|
||||
user.deleteInvitationKey(userData.email);
|
||||
plugins.fireHook('filter:register.complete', {uid: uid, referrer: req.body.referrer || nconf.get('relative_path') + '/'}, next);
|
||||
}
|
||||
], callback);
|
||||
|
||||
@@ -213,7 +213,7 @@ User.search = function(socket, data, callback) {
|
||||
};
|
||||
|
||||
User.deleteInvitation = function(socket, data, callback) {
|
||||
user.deleteInvitation(data.email, callback);
|
||||
user.deleteInvitation(data.invitedBy, data.email, callback);
|
||||
};
|
||||
|
||||
User.acceptRegistration = function(socket, data, callback) {
|
||||
|
||||
@@ -39,7 +39,6 @@ var async = require('async'),
|
||||
if (err || userData.status === 'offline' || now - parseInt(userData.lastonline, 10) < 300000) {
|
||||
return callback(err);
|
||||
}
|
||||
|
||||
User.setUserField(uid, 'lastonline', now, callback);
|
||||
});
|
||||
};
|
||||
@@ -257,4 +256,3 @@ var async = require('async'),
|
||||
|
||||
|
||||
}(exports));
|
||||
|
||||
|
||||
@@ -120,9 +120,32 @@ module.exports = function(User) {
|
||||
], callback);
|
||||
};
|
||||
|
||||
User.deleteInvitation = function(email, callback) {
|
||||
User.deleteInvitation = function(invitedBy, email, callback) {
|
||||
callback = callback || function() {};
|
||||
async.waterfall([
|
||||
function getInvitedByUid(next) {
|
||||
User.getUidByUsername(invitedBy, next);
|
||||
},
|
||||
function deleteRegistries(invitedByUid, next) {
|
||||
if (!invitedByUid) {
|
||||
return next(new Error('[[error:invalid-username]]'));
|
||||
}
|
||||
async.parallel([
|
||||
function deleteFromReferenceList(next) {
|
||||
db.setRemove('invitation:uid:' + invitedByUid, email, next);
|
||||
},
|
||||
function deleteInviteKey(next) {
|
||||
db.delete('invitation:email:' + email, callback);
|
||||
}
|
||||
], function(err) {
|
||||
next(err)
|
||||
});
|
||||
}
|
||||
], callback);
|
||||
};
|
||||
|
||||
User.deleteInvitationKey = function(email, callback) {
|
||||
callback = callback || function() {};
|
||||
console.log('invitation:email:' + email);
|
||||
db.delete('invitation:email:' + email, callback);
|
||||
};
|
||||
|
||||
|
||||
@@ -74,8 +74,8 @@
|
||||
</tr>
|
||||
<!-- BEGIN invites -->
|
||||
<!-- BEGIN invites.invitations -->
|
||||
<tr data-invitation-mail="{invites.invitations.email}">
|
||||
<!-- TODO: Upon deletion, this will result in an incorrect visual state until page is reloaded -->
|
||||
<tr data-invitation-mail="{invites.invitations.email}"
|
||||
data-invited-by="{invites.username}">
|
||||
<td><!-- IF @first -->{invites.username}<!-- ENDIF @first --></td>
|
||||
<td>{invites.invitations.email}</td>
|
||||
<td>{invites.invitations.username}
|
||||
|
||||
Reference in New Issue
Block a user