Some checks failed
Lock Threads / action (push) Has been cancelled
Mark stale issues and pull requests / stale (push) Has been cancelled
Publish Chatwoot EE docker images / build (linux/amd64, ubuntu-latest) (push) Has been cancelled
Publish Chatwoot EE docker images / build (linux/arm64, ubuntu-22.04-arm) (push) Has been cancelled
Publish Chatwoot EE docker images / merge (push) Has been cancelled
Publish Chatwoot CE docker images / build (linux/amd64, ubuntu-latest) (push) Has been cancelled
Publish Chatwoot CE docker images / build (linux/arm64, ubuntu-22.04-arm) (push) Has been cancelled
Publish Chatwoot CE docker images / merge (push) Has been cancelled
Run Chatwoot CE spec / lint-backend (push) Has been cancelled
Run Chatwoot CE spec / lint-frontend (push) Has been cancelled
Run Chatwoot CE spec / frontend-tests (push) Has been cancelled
Run Chatwoot CE spec / backend-tests (0, 16) (push) Has been cancelled
Run Chatwoot CE spec / backend-tests (1, 16) (push) Has been cancelled
Run Chatwoot CE spec / backend-tests (10, 16) (push) Has been cancelled
Run Chatwoot CE spec / backend-tests (11, 16) (push) Has been cancelled
Run Chatwoot CE spec / backend-tests (12, 16) (push) Has been cancelled
Run Chatwoot CE spec / backend-tests (13, 16) (push) Has been cancelled
Run Chatwoot CE spec / backend-tests (14, 16) (push) Has been cancelled
Run Chatwoot CE spec / backend-tests (15, 16) (push) Has been cancelled
Run Chatwoot CE spec / backend-tests (2, 16) (push) Has been cancelled
Run Chatwoot CE spec / backend-tests (3, 16) (push) Has been cancelled
Run Chatwoot CE spec / backend-tests (4, 16) (push) Has been cancelled
Run Chatwoot CE spec / backend-tests (5, 16) (push) Has been cancelled
Run Chatwoot CE spec / backend-tests (6, 16) (push) Has been cancelled
Run Chatwoot CE spec / backend-tests (7, 16) (push) Has been cancelled
Run Chatwoot CE spec / backend-tests (8, 16) (push) Has been cancelled
Run Chatwoot CE spec / backend-tests (9, 16) (push) Has been cancelled
Run Linux nightly installer / nightly (push) Has been cancelled
- Add Logistics component with progress tracking - Add OrderDetail component for order information - Support data-driven steps and actions - Add blue color scale to widget SCSS - Fix node overflow and progress bar rendering issues - Add English translations for dashboard components Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
52 lines
1.4 KiB
Ruby
52 lines
1.4 KiB
Ruby
class Email::FromBuilder < Email::BaseBuilder
|
|
pattr_initialize [:inbox!, :message!]
|
|
|
|
def build
|
|
return sender_name(account_support_email) unless inbox.email?
|
|
|
|
from_email = case email_channel_type
|
|
when :standard_imap_smtp,
|
|
:google_oauth,
|
|
:microsoft_oauth,
|
|
:forwarding_own_smtp
|
|
channel.email
|
|
when :imap_chatwoot_smtp,
|
|
:forwarding_chatwoot_smtp
|
|
channel.verified_for_sending ? channel.email : account_support_email
|
|
else
|
|
account_support_email
|
|
end
|
|
|
|
sender_name(from_email)
|
|
end
|
|
|
|
private
|
|
|
|
def email_channel_type
|
|
return :google_oauth if channel.google?
|
|
return :microsoft_oauth if channel.microsoft?
|
|
return :standard_imap_smtp if imap_and_smtp_enabled?
|
|
return :imap_chatwoot_smtp if imap_enabled_without_smtp?
|
|
return :forwarding_own_smtp if forwarding_with_own_smtp?
|
|
return :forwarding_chatwoot_smtp if forwarding_without_smtp?
|
|
|
|
:unknown
|
|
end
|
|
|
|
def imap_and_smtp_enabled?
|
|
channel.imap_enabled && channel.smtp_enabled
|
|
end
|
|
|
|
def imap_enabled_without_smtp?
|
|
channel.imap_enabled && !channel.smtp_enabled
|
|
end
|
|
|
|
def forwarding_with_own_smtp?
|
|
!channel.imap_enabled && channel.smtp_enabled
|
|
end
|
|
|
|
def forwarding_without_smtp?
|
|
!channel.imap_enabled && !channel.smtp_enabled
|
|
end
|
|
end
|