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>
71 lines
2.3 KiB
Ruby
71 lines
2.3 KiB
Ruby
class AdministratorNotifications::AccountNotificationMailer < AdministratorNotifications::BaseMailer
|
|
def account_deletion_user_initiated(account, reason)
|
|
subject = 'Your Chatwoot account deletion has been scheduled'
|
|
action_url = settings_url('general')
|
|
meta = {
|
|
'account_name' => account.name,
|
|
'deletion_date' => format_deletion_date(account.custom_attributes['marked_for_deletion_at']),
|
|
'reason' => reason
|
|
}
|
|
|
|
send_notification(subject, action_url: action_url, meta: meta)
|
|
end
|
|
|
|
def account_deletion_for_inactivity(account, reason)
|
|
subject = 'Your Chatwoot account is scheduled for deletion due to inactivity'
|
|
action_url = settings_url('general')
|
|
meta = {
|
|
'account_name' => account.name,
|
|
'deletion_date' => format_deletion_date(account.custom_attributes['marked_for_deletion_at']),
|
|
'reason' => reason
|
|
}
|
|
|
|
send_notification(subject, action_url: action_url, meta: meta)
|
|
end
|
|
|
|
def contact_import_complete(resource)
|
|
subject = 'Contact Import Completed'
|
|
|
|
action_url = if resource.failed_records.attached?
|
|
Rails.application.routes.url_helpers.rails_blob_url(resource.failed_records)
|
|
else
|
|
"#{ENV.fetch('FRONTEND_URL', nil)}/app/accounts/#{resource.account.id}/contacts"
|
|
end
|
|
|
|
meta = {
|
|
'failed_contacts' => resource.total_records - resource.processed_records,
|
|
'imported_contacts' => resource.processed_records
|
|
}
|
|
|
|
send_notification(subject, action_url: action_url, meta: meta)
|
|
end
|
|
|
|
def contact_import_failed
|
|
subject = 'Contact Import Failed'
|
|
send_notification(subject)
|
|
end
|
|
|
|
def contact_export_complete(file_url, email_to)
|
|
subject = "Your contact's export file is available to download."
|
|
send_notification(subject, to: email_to, action_url: file_url)
|
|
end
|
|
|
|
def automation_rule_disabled(rule)
|
|
subject = 'Automation rule disabled due to validation errors.'
|
|
action_url = settings_url('automation/list')
|
|
meta = { 'rule_name' => rule.name }
|
|
|
|
send_notification(subject, action_url: action_url, meta: meta)
|
|
end
|
|
|
|
private
|
|
|
|
def format_deletion_date(deletion_date_str)
|
|
return 'Unknown' if deletion_date_str.blank?
|
|
|
|
Time.zone.parse(deletion_date_str).strftime('%B %d, %Y')
|
|
rescue StandardError
|
|
'Unknown'
|
|
end
|
|
end
|