Files
docuseal/app/controllers/submitters_send_email_controller.rb
T

28 lines
1003 B
Ruby
Raw Normal View History

2023-09-03 14:05:31 +03:00
# frozen_string_literal: true
class SubmittersSendEmailController < ApplicationController
2023-09-17 00:45:57 +03:00
load_and_authorize_resource :submitter, id_param: :submitter_slug, find_by: :slug
2023-09-03 14:05:31 +03:00
2023-09-17 00:45:57 +03:00
def create
2023-11-25 13:36:37 +02:00
if Docuseal.multitenant? && SubmissionEvent.exists?(submitter: @submitter,
event_type: 'send_email',
created_at: 24.hours.ago..Time.current)
return redirect_back(fallback_location: submission_path(@submitter.submission),
alert: 'Email has been sent already.')
end
2024-01-16 23:03:01 +02:00
mail = SubmitterMailer.invitation_email(@submitter)
Submitters::ValidateSending.call(@submitter, mail)
mail.deliver_later!
2023-09-03 14:05:31 +03:00
2023-09-17 00:45:57 +03:00
SubmissionEvent.create!(submitter: @submitter, event_type: 'send_email')
2023-09-10 12:55:41 +03:00
2023-09-17 00:45:57 +03:00
@submitter.sent_at ||= Time.current
@submitter.save!
2023-09-03 14:05:31 +03:00
2023-09-17 00:45:57 +03:00
redirect_back(fallback_location: submission_path(@submitter.submission), notice: 'Email has been sent')
2023-09-03 14:05:31 +03:00
end
end