All checks were successful
		
		
	
	Run unit tests / copyright_notice (pull_request) Successful in 56s
				
			Run unit tests / rubocop (pull_request) Successful in 1m10s
				
			Run unit tests / check-licenses (pull_request) Successful in 1m20s
				
			Run unit tests / unit_tests (pull_request) Successful in 2m3s
				
			Run unit tests / build-static-assets (pull_request) Successful in 9m10s
				
			
		
			
				
	
	
		
			46 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			46 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
# Copyright (C) 2024-2025 LibreWeddingPlanner contributors
 | 
						|
 | 
						|
# frozen_string_literal: true
 | 
						|
 | 
						|
class AdminMailer < ApplicationMailer
 | 
						|
  def attendance_change_email
 | 
						|
    @guest = Guest.find(params[:guest_id])
 | 
						|
    ActsAsTenant.with_tenant(@guest.wedding) do
 | 
						|
      mail(
 | 
						|
        to: recipients,
 | 
						|
        subject: I18n.t(
 | 
						|
          'admin_mailer.attendance_change_email.subject',
 | 
						|
          name: @guest.name,
 | 
						|
          status: I18n.t("active_record.attributes.guest/status.#{@guest.status}")
 | 
						|
        )
 | 
						|
      )
 | 
						|
    end
 | 
						|
  end
 | 
						|
 | 
						|
  def invitations_pdf_email
 | 
						|
    ActsAsTenant.with_tenant(Wedding.find(params[:wedding_id])) do
 | 
						|
      invitations = Invitation.includes(:guests).all
 | 
						|
 | 
						|
      pdf_html = ActionController::Base.new.render_to_string(
 | 
						|
        template: 'invitations/sheet',
 | 
						|
        layout: 'pdf',
 | 
						|
        locals: { invitations: }
 | 
						|
      )
 | 
						|
      pdf = WickedPdf.new.pdf_from_string(pdf_html)
 | 
						|
 | 
						|
      attachments["invitations_#{Time.current.strftime('%Y%m%d_%H%M%S')}.pdf"] = pdf
 | 
						|
 | 
						|
      mail(
 | 
						|
        to: recipients,
 | 
						|
        subject: I18n.t('admin_mailer.invitations_pdf_email.subject')
 | 
						|
      )
 | 
						|
    end
 | 
						|
  end
 | 
						|
 | 
						|
  private
 | 
						|
 | 
						|
  def recipients
 | 
						|
    ActsAsTenant.current_tenant.users.pluck(:email)
 | 
						|
  end
 | 
						|
end
 |