Sha256: 9111cf056fdcdd95556e46f0f865c7b161cb6f6976b513d5ff2e0e7ff5187a4e

Contents?: true

Size: 1019 Bytes

Versions: 1

Compression:

Stored size: 1019 Bytes

Contents

module Gemgento

  # @author Gemgento LLC
  class Shipment < ActiveRecord::Base
    belongs_to :order, class_name: 'Gemgento::Order'

    has_many :shipment_comments, class_name: 'Gemgento::ShipmentComment', dependent: :destroy
    has_many :shipment_items, class_name: 'Gemgento::ShipmentItem', dependent: :destroy
    has_many :shipment_tracks, class_name: 'Gemgento::ShipmentTrack', dependent: :destroy

    attr_accessor :email, :comment, :include_comment

    def send_email
      API::SOAP::Sales::OrderShipment.send_info(self.increment_id)
    end

    def as_json(options = nil)
      result = super
      result['items'] = self.shipment_items
      result['comments'] = self.shipment_comments
      result['tracks'] = self.shipment_tracks

      return result
    end

    def push_to_magento
      increment_id = API::SOAP::Sales::OrderShipment.create(self)

      if increment_id == false
        return false
      else
        self.increment_id = increment_id
        self.save
      end
    end

  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
gemgento-2.8.0 app/models/gemgento/shipment.rb