diff --git a/client/methods/unsetUserReason.js b/client/methods/unsetUserReason.js deleted file mode 100644 index 245eb587dfb..00000000000 --- a/client/methods/unsetUserReason.js +++ /dev/null @@ -1,6 +0,0 @@ -Meteor.methods({ - unsetUserReason(userId) { - Meteor.users.update(userId, { $unset: { 'reason' : 1 } }); - return true; - } -}); diff --git a/packages/rocketchat-ui-flextab/client/tabs/userInfo.js b/packages/rocketchat-ui-flextab/client/tabs/userInfo.js index 883751232fe..cd540249fb0 100644 --- a/packages/rocketchat-ui-flextab/client/tabs/userInfo.js +++ b/packages/rocketchat-ui-flextab/client/tabs/userInfo.js @@ -395,9 +395,6 @@ Template.userInfo.events({ if (user) { return Meteor.call('setUserActiveStatus', user._id, true, function(error, result) { if (result) { - - Meteor.call('unsetUserReason', user._id); - toastr.success(t('User_has_been_activated')); } if (error) { diff --git a/server/lib/accounts.js b/server/lib/accounts.js index 8d69eacb8ba..c59ca905cb4 100644 --- a/server/lib/accounts.js +++ b/server/lib/accounts.js @@ -119,23 +119,24 @@ Accounts.onCreateUser(function(options, user = {}) { } if (!user.active) { - user.emails.some((email) => { - const destinations = []; + const destinations = []; + let email = {}; - RocketChat.models.Roles.findUsersInRole('admin').forEach(function(adminUser) { + RocketChat.models.Roles.findUsersInRole('admin').forEach(function(adminUser) { + if (adminUser.emails[0]) { destinations.push(`${ adminUser.name }<${ adminUser.emails[0].address }>`); - }); - - email = { - to: destinations, - from: RocketChat.settings.get('From_Email'), - subject: Accounts.emailTemplates.notifyAdmin.subject(), - html: Accounts.emailTemplates.notifyAdmin.html(options) - }; - - Meteor.defer(() => { - Email.send(email); - }); + } + }); + + email = { + to: destinations, + from: RocketChat.settings.get('From_Email'), + subject: Accounts.emailTemplates.notifyAdmin.subject(), + html: Accounts.emailTemplates.notifyAdmin.html(options) + }; + + Meteor.defer(() => { + Email.send(email); }); } diff --git a/server/methods/setUserActiveStatus.js b/server/methods/setUserActiveStatus.js index f4a2eea9d1e..47ad26b2f68 100644 --- a/server/methods/setUserActiveStatus.js +++ b/server/methods/setUserActiveStatus.js @@ -26,6 +26,8 @@ Meteor.methods({ if (active === false) { RocketChat.models.Users.unsetLoginTokens(userId); + } else { + RocketChat.models.Users.unsetReason(userId); } return true; diff --git a/server/methods/unsetUserReason.js b/server/methods/unsetUserReason.js deleted file mode 100644 index b2740a145bf..00000000000 --- a/server/methods/unsetUserReason.js +++ /dev/null @@ -1,27 +0,0 @@ -Meteor.methods({ - unsetUserReason(userId) { - check(userId, String); - - if (!Meteor.userId()) { - throw new Meteor.Error('error-invalid-user', 'Invalid user', { - method: 'unsetUserReason' - }); - } - - if (RocketChat.authz.hasPermission(Meteor.userId(), 'edit-other-user-active-status') !== true) { - throw new Meteor.Error('error-not-allowed', 'Not allowed', { - method: 'unsetUserReason' - }); - } - - const user = RocketChat.models.Users.findOneById(userId); - - if (user) { - RocketChat.models.Users.unsetReason(userId); - - return true; - } - - return false; - } -});