2023-11-23 20:03:52 +02:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
|
|
|
|
|
module EmailMessages
|
|
|
|
|
module_function
|
|
|
|
|
|
|
|
|
|
def find_or_create_for_account_user(account, user, subject, body)
|
2024-09-21 13:05:31 +03:00
|
|
|
subject = I18n.t(:you_are_invited_to_sign_a_document) if subject.blank?
|
2023-11-23 20:03:52 +02:00
|
|
|
|
2026-06-28 17:03:36 +03:00
|
|
|
message = account.email_messages.new(author: user, subject:, body:).tap(&:validate)
|
2023-11-23 20:03:52 +02:00
|
|
|
|
2026-06-28 17:03:36 +03:00
|
|
|
account.email_messages.find_by(sha1: message.sha1) || message.tap { |m| m.save!(validate: false) }
|
2023-11-23 20:03:52 +02:00
|
|
|
end
|
|
|
|
|
end
|