# 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