validate sender email
This commit is contained in:
@@ -11,7 +11,11 @@ class SubmittersSendEmailController < ApplicationController
|
||||
alert: 'Email has been sent already.')
|
||||
end
|
||||
|
||||
SubmitterMailer.invitation_email(@submitter).deliver_later!
|
||||
mail = SubmitterMailer.invitation_email(@submitter)
|
||||
|
||||
Submitters::ValidateSending.call(@submitter, mail)
|
||||
|
||||
mail.deliver_later!
|
||||
|
||||
SubmissionEvent.create!(submitter: @submitter, event_type: 'send_email')
|
||||
|
||||
|
||||
@@ -4,7 +4,11 @@ class SendSubmitterInvitationEmailJob < ApplicationJob
|
||||
def perform(params = {})
|
||||
submitter = Submitter.find(params['submitter_id'])
|
||||
|
||||
SubmitterMailer.invitation_email(submitter).deliver_now!
|
||||
mail = SubmitterMailer.invitation_email(submitter)
|
||||
|
||||
Submitters::ValidateSending.call(submitter, mail)
|
||||
|
||||
mail.deliver_now!
|
||||
|
||||
SubmissionEvent.create!(submitter:, event_type: 'send_email')
|
||||
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
module Submitters
|
||||
module ValidateSending
|
||||
InvalidEmail = Class.new(StandardError)
|
||||
|
||||
module_function
|
||||
|
||||
def call(submitter, _mail)
|
||||
raise InvalidEmail unless submitter.email.to_s.include?('@')
|
||||
|
||||
true
|
||||
end
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user