Sha256: 2cf068a7fb75c3a4169b48768d33fa44ba47716b11a2b5440a815376b82d1dd2

Contents?: true

Size: 954 Bytes

Versions: 4

Compression:

Stored size: 954 Bytes

Contents

module Comee
  module Core
    class BackOrder < ApplicationRecord
      enum :status, {draft: 0, confirmed: 1}

      after_create_commit :notify_supplier

      belongs_to :supplier
      has_many :back_order_items

      has_noticed_notifications model_name: "Comee::Core::Notification"

      validates :order_number, presence: true, uniqueness: true
      validates :order_date, :delivery_date, :terms, :delivery_address, :invoice_address, :status, presence: true

      delegate(:name, to: :supplier, prefix: true)

      def self.ransackable_attributes(auth_object = nil)
        ["delivery_address", "delivery_date", "invoice_address", "order_date", "order_number", "status", "supplier_id"]
      end

      def self.ransackable_associations(auth_object = nil)
        []
      end

      private

      def notify_supplier
        Comee::Core::NewOrderNotification.with(back_order: self).deliver_later(supplier.user)
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
comee_core-0.1.13 app/models/comee/core/back_order.rb
comee_core-0.1.12 app/models/comee/core/back_order.rb
comee_core-0.1.11 app/models/comee/core/back_order.rb
comee_core-0.1.10 app/models/comee/core/back_order.rb