validate sender email
This commit is contained in:
@@ -11,7 +11,11 @@ class SubmittersSendEmailController < ApplicationController
|
|||||||
alert: 'Email has been sent already.')
|
alert: 'Email has been sent already.')
|
||||||
end
|
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')
|
SubmissionEvent.create!(submitter: @submitter, event_type: 'send_email')
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,11 @@ class SendSubmitterInvitationEmailJob < ApplicationJob
|
|||||||
def perform(params = {})
|
def perform(params = {})
|
||||||
submitter = Submitter.find(params['submitter_id'])
|
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')
|
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