Finished adding a new delete to also remove the reference from the invites list on the APM.

v1.18.x
HSam 9 years ago
parent 4d87f0276b
commit 48db16fba7

@ -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}

Loading…
Cancel
Save