Sha256: c558cb3ddef44969e66bf9448f7248da72e4d1a3278c24347b515f6956f64f1c

Contents?: true

Size: 986 Bytes

Versions: 23

Compression:

Stored size: 986 Bytes

Contents

module Comee
  module Core
    class PurchaseOrder < ApplicationRecord
      before_save :total_price

      belongs_to :supplier
      has_many :purchase_order_items

      validates :po_number, presence: true, uniqueness: true
      validates :order_date, :delivery_address, :status, :delivery_date, presence: true
      enum status: {
        draft: 0,
        submitted: 1,
        approved: 2,
        confirmed: 3,
        accepted: 4,
        canceled: 5
      }

      def total_price
        items = PurchaseOrderItem.where(purchase_order_id: id)
        self.total_price = items.sum(&:total_price)
      end

      def self.ransackable_attributes(_auth_object = nil)
        %w[
          id
          po_number
          supplier_id
          unit_id
          order_date
          status
          delivery_address
          delivery_date
        ]
      end

      def self.ransackable_associations(_auth_object = nil)
        %w[supplier unit]
      end
    end
  end
end

Version data entries

23 entries across 23 versions & 1 rubygems

Version Path
comee_core-0.2.77 app/models/comee/core/purchase_order.rb
comee_core-0.2.76 app/models/comee/core/purchase_order.rb
comee_core-0.2.75 app/models/comee/core/purchase_order.rb
comee_core-0.2.70 app/models/comee/core/purchase_order.rb
comee_core-0.2.69 app/models/comee/core/purchase_order.rb
comee_core-0.2.68 app/models/comee/core/purchase_order.rb
comee_core-0.2.67 app/models/comee/core/purchase_order.rb
comee_core-0.2.66 app/models/comee/core/purchase_order.rb
comee_core-0.2.65 app/models/comee/core/purchase_order.rb
comee_core-0.2.64 app/models/comee/core/purchase_order.rb
comee_core-0.2.63 app/models/comee/core/purchase_order.rb
comee_core-0.2.62 app/models/comee/core/purchase_order.rb
comee_core-0.2.61 app/models/comee/core/purchase_order.rb
comee_core-0.2.60 app/models/comee/core/purchase_order.rb
comee_core-0.2.59 app/models/comee/core/purchase_order.rb
comee_core-0.2.58 app/models/comee/core/purchase_order.rb
comee_core-0.2.57 app/models/comee/core/purchase_order.rb
comee_core-0.2.56 app/models/comee/core/purchase_order.rb
comee_core-0.2.55 app/models/comee/core/purchase_order.rb
comee_core-0.2.54 app/models/comee/core/purchase_order.rb