From 32d2adc8a24f4352e8c6a0b179fe9ef351295f6d Mon Sep 17 00:00:00 2001 From: Rohan Mitchell Date: Fri, 20 May 2016 11:41:04 +1000 Subject: [PATCH] Fix mailers - provide from address --- app/mailers/spree/base_mailer_decorator.rb | 7 +++++++ app/mailers/spree/order_mailer_decorator.rb | 11 +++++++++++ 2 files changed, 18 insertions(+) diff --git a/app/mailers/spree/base_mailer_decorator.rb b/app/mailers/spree/base_mailer_decorator.rb index 339abd8901..949f51d2f0 100644 --- a/app/mailers/spree/base_mailer_decorator.rb +++ b/app/mailers/spree/base_mailer_decorator.rb @@ -6,6 +6,13 @@ Spree::BaseMailer.class_eval do layout 'mailer' protected + + def from_address + Spree::MailMethod.current.andand.preferred_mails_from || + 'test@example.com' + end + + def roadie_options # This lets us specify assets using relative paths in email templates super.merge(url_options: {host: URI(spree.root_url).host }) diff --git a/app/mailers/spree/order_mailer_decorator.rb b/app/mailers/spree/order_mailer_decorator.rb index 016b61efa4..4f81762c0d 100644 --- a/app/mailers/spree/order_mailer_decorator.rb +++ b/app/mailers/spree/order_mailer_decorator.rb @@ -3,6 +3,13 @@ Spree::OrderMailer.class_eval do helper CheckoutHelper helper SpreeCurrencyHelper + def cancel_email(order, resend = false) + @order = find_order(order) + subject = (resend ? "[#{t(:resend).upcase}] " : '') + subject += "#{Spree::Config[:site_name]} #{t('order_mailer.cancel_email.subject')} ##{order.number}" + mail(to: order.email, from: from_address, subject: subject) + end + def confirm_email_for_customer(order, resend = false) find_order(order) # Finds an order instance from an id subject = (resend ? "[#{t(:resend).upcase}] " : '') @@ -31,4 +38,8 @@ Spree::OrderMailer.class_eval do :subject => subject, :reply_to => @order.distributor.email) end + + def find_order(order) + order.respond_to?(:id) ? order : Spree::Order.find(order) + end end