From 14825360cae71f9935eda38c331b911f4fc703d7 Mon Sep 17 00:00:00 2001 From: Luis Fernando do Nascimento Date: Wed, 24 May 2017 23:45:52 -0300 Subject: [PATCH] Changes for issue #976. Still need some work --- packages/rocketchat-i18n/i18n/en.i18n.json | 1 + server/lib/accounts.js | 26 ++++++++++++++++++++++ 2 files changed, 27 insertions(+) diff --git a/packages/rocketchat-i18n/i18n/en.i18n.json b/packages/rocketchat-i18n/i18n/en.i18n.json index 1b2888536b9..8bd722e7a08 100644 --- a/packages/rocketchat-i18n/i18n/en.i18n.json +++ b/packages/rocketchat-i18n/i18n/en.i18n.json @@ -1106,6 +1106,7 @@ "Office_hours_updated": "Office hours updated", "Offline": "Offline", "Offline_DM_Email": "You have been direct messaged by __user__", + "User_Needs_Approval": "A new user registered and needs approval", "Offline_form": "Offline form", "Offline_form_unavailable_message": "Offline form unavailable message", "Offline_Link_Message": "GO TO MESSAGE", diff --git a/server/lib/accounts.js b/server/lib/accounts.js index 1cffa6d39a0..9b708eee8f8 100644 --- a/server/lib/accounts.js +++ b/server/lib/accounts.js @@ -91,6 +91,32 @@ Accounts.onCreateUser(function(options, user = {}) { } } + if (!user.active) { + user.emails.some((email) => { + + const header = RocketChat.placeholders.replace(RocketChat.settings.get('Email_Header') || ''); + const footer = RocketChat.placeholders.replace(RocketChat.settings.get('Email_Footer') || ''); + const divisorMessage = '
'; + const siteName = RocketChat.settings.get('Site_Name'); + const messageHTML = `

A user with email ${options.email} has been registered.
Please check Administration -> Users to activate or delete it.`; + + emailSubject = TAPi18n.__('User_Needs_Approval'); + + RocketChat.models.Roles.findUsersInRole('admin').forEach(function (adminUser) { + email = { + to: adminUser.emails[0].address, + from: RocketChat.settings.get('From_Email'), + subject: `[${ siteName }] ${ emailSubject }`, + html: header + messageHTML + divisorMessage + footer + }; + }); + + Meteor.defer(() => { + Email.send(email); + }); + }); + } + return user; });