mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-11-02 12:05:57 +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) {
|
$('.invites-list').on('click', '[data-action]', function(ev) {
|
||||||
var $this = this;
|
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 email = parent.attr('data-invitation-mail');
|
||||||
|
var invitedBy = parent.attr('data-invited-by');
|
||||||
var action = $(this).attr('data-action');
|
var action = $(this).attr('data-action');
|
||||||
var method = 'admin.user.deleteInvitation';
|
var method = 'admin.user.deleteInvitation';
|
||||||
|
|
||||||
if (action === 'delete') {
|
if (action === 'delete') {
|
||||||
socket.emit(method, {email: email}, function(err) {
|
socket.emit(method, {email: email, invitedBy: invitedBy}, function(err) {
|
||||||
if (err) {
|
if (err) {
|
||||||
return app.alertError(err.message);
|
return app.alertError(err.message);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -93,7 +93,7 @@ function registerAndLoginUser(req, res, userData, callback) {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
function(next) {
|
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);
|
plugins.fireHook('filter:register.complete', {uid: uid, referrer: req.body.referrer || nconf.get('relative_path') + '/'}, next);
|
||||||
}
|
}
|
||||||
], callback);
|
], callback);
|
||||||
|
|||||||
@@ -213,7 +213,7 @@ User.search = function(socket, data, callback) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
User.deleteInvitation = 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) {
|
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) {
|
if (err || userData.status === 'offline' || now - parseInt(userData.lastonline, 10) < 300000) {
|
||||||
return callback(err);
|
return callback(err);
|
||||||
}
|
}
|
||||||
|
|
||||||
User.setUserField(uid, 'lastonline', now, callback);
|
User.setUserField(uid, 'lastonline', now, callback);
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
@@ -257,4 +256,3 @@ var async = require('async'),
|
|||||||
|
|
||||||
|
|
||||||
}(exports));
|
}(exports));
|
||||||
|
|
||||||
|
|||||||
@@ -120,9 +120,32 @@ module.exports = function(User) {
|
|||||||
], callback);
|
], 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() {};
|
callback = callback || function() {};
|
||||||
console.log('invitation:email:' + email);
|
|
||||||
db.delete('invitation:email:' + email, callback);
|
db.delete('invitation:email:' + email, callback);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -74,8 +74,8 @@
|
|||||||
</tr>
|
</tr>
|
||||||
<!-- BEGIN invites -->
|
<!-- BEGIN invites -->
|
||||||
<!-- BEGIN invites.invitations -->
|
<!-- BEGIN invites.invitations -->
|
||||||
<tr data-invitation-mail="{invites.invitations.email}">
|
<tr data-invitation-mail="{invites.invitations.email}"
|
||||||
<!-- TODO: Upon deletion, this will result in an incorrect visual state until page is reloaded -->
|
data-invited-by="{invites.username}">
|
||||||
<td><!-- IF @first -->{invites.username}<!-- ENDIF @first --></td>
|
<td><!-- IF @first -->{invites.username}<!-- ENDIF @first --></td>
|
||||||
<td>{invites.invitations.email}</td>
|
<td>{invites.invitations.email}</td>
|
||||||
<td>{invites.invitations.username}
|
<td>{invites.invitations.username}
|
||||||
|
|||||||
Reference in New Issue
Block a user