Skip to content
Snippets Groups Projects
Unverified Commit 7d3bfc19 authored by Ahmad Farhat's avatar Ahmad Farhat Committed by GitHub
Browse files

Add email notification to external users (#5565)

parent a486d033
No related branches found
No related tags found
No related merge requests found
...@@ -70,7 +70,7 @@ Metrics/ClassLength: ...@@ -70,7 +70,7 @@ Metrics/ClassLength:
# A calculated magnitude based on number of assignments, # A calculated magnitude based on number of assignments,
# branches, and conditions. # branches, and conditions.
Metrics/AbcSize: Metrics/AbcSize:
Max: 75 Max: 80
Metrics/ParameterLists: Metrics/ParameterLists:
CountKeywordArgs: false CountKeywordArgs: false
...@@ -79,7 +79,7 @@ RSpec/AnyInstance: ...@@ -79,7 +79,7 @@ RSpec/AnyInstance:
Enabled: false Enabled: false
Metrics/CyclomaticComplexity: Metrics/CyclomaticComplexity:
Max: 16 Max: 17
Metrics/PerceivedComplexity: Metrics/PerceivedComplexity:
Max: 17 Max: 17
......
...@@ -115,7 +115,6 @@ module Api ...@@ -115,7 +115,6 @@ module Api
# shared_users_emails: [ <list of shared users emails> ] }} # shared_users_emails: [ <list of shared users emails> ] }}
# Returns: { data: Array[serializable objects] , errors: Array[String] } # Returns: { data: Array[serializable objects] , errors: Array[String] }
# Does: Creates a Room and its RoomMeetingOptions. # Does: Creates a Room and its RoomMeetingOptions.
# rubocop:disable Metrics/CyclomaticComplexity
def create_room def create_room
room_hash = room_params.to_h room_hash = room_params.to_h
...@@ -170,7 +169,6 @@ module Api ...@@ -170,7 +169,6 @@ module Api
render_data status: :created render_data status: :created
end end
# rubocop:enable Metrics/CyclomaticComplexity
# POST /api/v1/migrations/site_settings.json # POST /api/v1/migrations/site_settings.json
# Expects: { settings: { site_settings: { :PrimaryColor, :PrimaryColorLight, :PrimaryColorDark, # Expects: { settings: { site_settings: { :PrimaryColor, :PrimaryColorLight, :PrimaryColorDark,
......
...@@ -77,8 +77,7 @@ module Api ...@@ -77,8 +77,7 @@ module Api
activation_url: activate_account_url(token), base_url: request.base_url, activation_url: activate_account_url(token), base_url: request.base_url,
provider: current_provider).activate_account_email.deliver_later provider: current_provider).activate_account_email.deliver_later
UserMailer.with(user:, admin_panel_url:, provider: current_provider) UserMailer.with(user:, admin_panel_url:, provider: current_provider).new_user_signup_email.deliver_later
.new_user_signup_email.deliver_later
end end
create_default_room(user) create_default_room(user)
......
...@@ -53,6 +53,9 @@ class ExternalController < ApplicationController ...@@ -53,6 +53,9 @@ class ExternalController < ApplicationController
user = UserCreator.new(user_params: user_info, provider: current_provider, role: default_role).call user = UserCreator.new(user_params: user_info, provider: current_provider, role: default_role).call
user.save! user.save!
create_default_room(user) create_default_room(user)
# Send admins an email if smtp is enabled
UserMailer.with(user:, admin_panel_url:, provider: current_provider).new_user_signup_email.deliver_later if ENV['SMTP_SERVER'].present?
end end
if SettingGetter.new(setting_name: 'ResyncOnLogin', provider:).call if SettingGetter.new(setting_name: 'ResyncOnLogin', provider:).call
......
...@@ -71,9 +71,8 @@ class UserMailer < ApplicationMailer ...@@ -71,9 +71,8 @@ class UserMailer < ApplicationMailer
def admin_emails def admin_emails
# Find all the roles that have EmailOnSignup enabled # Find all the roles that have EmailOnSignup enabled
role_ids = Role.joins(role_permissions: :permission) role_ids = Role.joins(role_permissions: :permission).with_provider(@provider).where(role_permissions: { value: 'true' },
.with_provider(@provider) permission: { name: 'EmailOnSignup' })
.where(role_permissions: { value: 'true' }, permission: { name: 'EmailOnSignup' })
.pluck(:id) .pluck(:id)
User.where(role_id: role_ids).pluck(:email) User.where(role_id: role_ids).pluck(:email)
......
...@@ -24,7 +24,7 @@ ...@@ -24,7 +24,7 @@
<p style="font-size: 24px;"><%= t('email.new_user_signup.take_action') %></p> <p style="font-size: 24px;"><%= t('email.new_user_signup.take_action') %></p>
<a href="<%= @signup_url %>" target="_blank" style="background-color: <%= @brand_color %>; border-radius: 8px; border: none; color: white; padding: 15px 32px; text-align: center; text-decoration: none; display: inline-block; font-size: 16px; font-weight: 600; margin-top: 16px; margin-bottom: 64px;"> <a href="<%= @admin_panel_url %>" target="_blank" style="background-color: <%= @brand_color %>; border-radius: 8px; border: none; color: white; padding: 15px 32px; text-align: center; text-decoration: none; display: inline-block; font-size: 16px; font-weight: 600; margin-top: 16px; margin-bottom: 64px;">
<%= t('email.new_user_signup.admin_panel') %> <%= t('email.new_user_signup.admin_panel') %>
</a> </a>
</div> </div>
...@@ -18,9 +18,9 @@ ...@@ -18,9 +18,9 @@
--- ---
<%= t('email.new_user_signup.new_user') %> <%= t('email.new_user_signup.new_user') %>
<%= t('email.new_user_signup.new_user_description' %> <%= t('email.new_user_signup.new_user_description') %>
<%= t('email.new_user_signup.name', name: @user.name) %> <%= t('email.new_user_signup.name', name: @user.name) %>
<%= t('email.new_user_signup.email', email: @user.email) %> <%= t('email.new_user_signup.email', email: @user.email) %>
<%= t('email.new_user_signup.take_action') %> <%= t('email.new_user_signup.take_action') %>
<%= @signup_url %> <%= @admin_panel_url %>
--- ---
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment