Browse Source

Delete user at REST API and `Admin Panel/People/People`. There is still bug of
leaving empty user avatars to boards: boards members, card members and assignees have
empty users. So it would be better to delete user from all boards before deleting user.

Thanks to darren-teo and xet7 !

Fixes #2716

Lauri Ojansivu 4 năm trước cách đây
mục cha
commit
9e16a405d8
2 tập tin đã thay đổi với 14 bổ sung11 xóa
  1. 9 8
      client/components/settings/peopleBody.jade
  2. 5 3
      models/users.js

+ 9 - 8
client/components/settings/peopleBody.jade

@@ -571,15 +571,16 @@ template(name="settingsUserPopup")
       a.impersonate-user
         i.fa.fa-user
         | {{_ 'impersonate-user'}}
-    //hr
-    //li
-    //  form
-    //    label.hide.userId(type="text" value=user._id)
-    //    div.buttonsContainer
-    //      input#deleteButton.card-details-red.right.wide(type="button" value="{{_ 'delete'}}")
-  // Delete is not enabled yet, because it does leave empty user avatars
+    hr
+    li
+      form
+        label.hide.userId(type="text" value=user._id)
+        div.buttonsContainer
+          input#deleteButton.card-details-red.right.wide(type="button" value="{{_ 'delete'}}")
+  // Delete is enabled, but there is still bug of leaving empty user avatars
   // to boards: boards members, card members and assignees have
-  // empty users. See:
+  // empty users. So it is better to remove user from all boards before removing user.
+  // See:
   // - wekan/client/components/settings/peopleBody.jade deleteButton
   // - wekan/client/components/settings/peopleBody.js deleteButton
   // - wekan/client/components/sidebar/sidebar.js Popup.afterConfirm('removeMember'

+ 5 - 3
models/users.js

@@ -2065,16 +2065,18 @@ if (Meteor.isServer) {
     try {
       Authentication.checkUserId(req.userId);
       const id = req.params.userId;
-      // Delete is not enabled yet, because it does leave empty user avatars
+      // Delete user is enabled, but is still has bug of leaving empty user avatars
       // to boards: boards members, card members and assignees have
-      // empty users. See:
+      // empty users. So it would be better to delete user from all boards before
+      // deleting user.
+      // 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 });
+      Meteor.users.remove({ _id: id });
       JsonRoutes.sendResult(res, {
         code: 200,
         data: {