Sha256: c19f8cd6c455adb2502b380d49fbfa65b3fddf50a2edf89cda8f696426ce72b2

Contents?: true

Size: 1.67 KB

Versions: 12

Compression:

Stored size: 1.67 KB

Contents

module Spree
  class CartonMailer < BaseMailer
    # Send an email to customers to notify that an individual carton has been
    # shipped. If a carton contains items from multiple orders then this will be
    # called with that carton one time for each order.
    #
    # @param carton [Spree::Carton] the shipped carton
    # @param order [Spree::Order] one of the orders with items in the carton
    # @param resend [Boolean] indicates whether the email is a 'resend' (e.g.
    #        triggered by the admin "resend" button)
    # @return [Mail::Message]
    #
    # Note: The signature of this method has changed. The new (non-deprecated)
    # signature is:
    #   def shipped_email(carton:, order:, resend: false)
    def shipped_email(options, deprecated_options = {})
      if options.is_a?(Integer)
        Spree::Deprecation.warn "Calling shipped_email with a carton_id is DEPRECATED. Instead use CartonMailer.shipped_email(order: order, carton: carton)"
        @carton = Carton.find(options)
        @order = @carton.orders.first # assume first order
        @manifest = @carton.manifest # use the entire manifest, since we don't know the precise order
        options = deprecated_options
      else
        @order = options.fetch(:order)
        @carton = options.fetch(:carton)
        @manifest = @carton.manifest_for_order(@order)
      end
      options = { resend: false }.merge(options)
      @store = @order.store
      subject = (options[:resend] ? "[#{Spree.t(:resend).upcase}] " : '')
      subject += "#{@store.name} #{Spree.t('shipment_mailer.shipped_email.subject')} ##{@order.number}"
      mail(to: @order.email, from: from_address(@store), subject: subject)
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
solidus_core-2.0.3 app/mailers/spree/carton_mailer.rb
solidus_core-1.4.2 app/mailers/spree/carton_mailer.rb
solidus_core-2.0.2 app/mailers/spree/carton_mailer.rb
solidus_core-1.4.1 app/mailers/spree/carton_mailer.rb
solidus_core-2.0.1 app/mailers/spree/carton_mailer.rb
solidus_core-2.1.0.beta1 app/mailers/spree/carton_mailer.rb
solidus_core-2.0.0 app/mailers/spree/carton_mailer.rb
solidus_core-1.4.0 app/mailers/spree/carton_mailer.rb
solidus_core-2.0.0.rc1 app/mailers/spree/carton_mailer.rb
solidus_core-1.4.0.rc1 app/mailers/spree/carton_mailer.rb
solidus_core-2.0.0.beta1 app/mailers/spree/carton_mailer.rb
solidus_core-1.4.0.beta1 app/mailers/spree/carton_mailer.rb