Board: When removing member from board, remove also from assignees.

Admin Panel/People: 1) Allow edit user that does not have email address.
2) When creating new user, require username and email address, and save also fullname.
3) Some in progress code for deleting user, that does not work correctly yet, so deleting user is not enabled yet.

Thanks to airtraxx and xet7.

Related #3396
This commit is contained in:
Lauri Ojansivu 2020-12-18 05:46:04 +02:00
parent 775f0d9fe6
commit 61ae62a83a
4 changed files with 115 additions and 17 deletions

View file

@ -616,6 +616,15 @@ Users.mutations({
},
};
},
setName(value) {
return {
$set: {
'profile.fullname': value,
},
};
},
toggleDesktopHandles(value = false) {
return {
$set: {
@ -752,7 +761,6 @@ if (Meteor.isServer) {
throw new Meteor.Error('email-already-taken');
} else {
Accounts.createUser({
fullname,
username,
password,
isAdmin,
@ -760,6 +768,12 @@ if (Meteor.isServer) {
email: email.toLowerCase(),
from: 'admin',
});
user = Users.findOne(username) || Users.findOne({ username });
if (user) {
Users.update(user._id, {
$set: { 'profile.fullname': fullname },
});
}
}
}
},
@ -1631,7 +1645,16 @@ if (Meteor.isServer) {
try {
Authentication.checkUserId(req.userId);
const id = req.params.userId;
Meteor.users.remove({ _id: id });
// Delete is not enabled yet, because it does leave empty user avatars
// to boards: boards members, card members and assignees have
// empty users. See:
// - wekan/client/components/settings/peopleBody.jade deleteButton
// - wekan/client/components/settings/peopleBody.js deleteButton
// - wekan/client/components/sidebar/sidebar.js Popup.afterConfirm('removeMember'
// that does now remove member from board, card members and assignees correctly,
// but that should be used to remove user from all boards similarly
// - wekan/models/users.js Delete is not enabled
// Meteor.users.remove({ _id: id });
JsonRoutes.sendResult(res, {
code: 200,
data: {