Removed unnecessary cancel_email from order_email_decorator (spree one is equivalent after ofn PR#2589). Also refactored remaining order_mailer_decorator methods by extracting duplicated code.

This commit is contained in:
luisramos0
2018-08-31 19:41:30 +01:00
parent 27f5e6db8a
commit 921c8dfdf4

View File

@@ -3,43 +3,42 @@ 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}] " : '')
subject += "#{Spree::Config[:site_name]} #{t('order_mailer.confirm_email.subject')} ##{@order.number}"
def confirm_email_for_customer(order_or_order_id, resend = false)
@order = find_order(order_or_order_id)
subject = build_subject(t('order_mailer.confirm_email.subject'), resend)
mail(:to => @order.email,
:from => from_address,
:subject => subject,
:reply_to => @order.distributor.contact.email)
end
def confirm_email_for_shop(order, resend = false)
find_order(order) # Finds an order instance from an id
subject = (resend ? "[#{t(:resend).upcase}] " : '')
subject += "#{Spree::Config[:site_name]} #{t('order_mailer.confirm_email.subject')} ##{@order.number}"
def confirm_email_for_shop(order_or_order_id, resend = false)
@order = find_order(order_or_order_id)
subject = build_subject(t('order_mailer.confirm_email.subject'), resend)
mail(:to => @order.distributor.contact.email,
:from => from_address,
:subject => subject)
end
def invoice_email(order, pdf)
find_order(order) # Finds an order instance from an id
def invoice_email(order_or_order_id, pdf)
@order = find_order(order_or_order_id)
subject = build_subject(t(:invoice))
attachments["invoice-#{@order.number}.pdf"] = pdf if pdf.present?
subject = "#{Spree::Config[:site_name]} #{t(:invoice)} ##{@order.number}"
mail(:to => @order.email,
:from => from_address,
:subject => subject,
:reply_to => @order.distributor.contact.email)
end
def find_order(order)
@order = order.respond_to?(:id) ? order : Spree::Order.find(order)
private
# Finds an order instance from an order or from an order id
def find_order(order_or_order_id)
order_or_order_id.respond_to?(:id) ? order_or_order_id : Spree::Order.find(order_or_order_id)
end
def build_subject( subject_text, resend = false )
subject = (resend ? "[#{t(:resend).upcase}] " : "")
subject += "#{Spree::Config[:site_name]} #{subject_text} ##{@order.number}"
end
end