Sha256: 178c454636122ad30409081c6d54e66b8881deac7a98b4fa64adce74f4da41f8
Contents?: true
Size: 1.57 KB
Versions: 22
Compression:
Stored size: 1.57 KB
Contents
module Comee module Core class PurchaseOrderItem < ApplicationRecord before_save :calculate_total_price, :calculate_confirmation_values has_one :purchase_order_item_diff enum status: {active: 0, canceled: 1} belongs_to :purchase_order belongs_to :product belongs_to :unit validates :quantity, presence: true, numericality: {greater_than: 0} validates :price, presence: true, numericality: {greater_than_or_equal_to: 0} validates :status, :delivery_date, presence: true validates :serial_no, presence: true, numericality: {greater_than: 0, only_integer: true} delegate(:po_number, to: :purchase_order, prefix: false) def calculate_total_price self.total_price = (price * quantity).round(2) end def calculate_confirmation_values self.confirmed_price = price unless confirmed_price self.confirmed_quantity = quantity unless confirmed_quantity self.confirmed_delivery_date = delivery_date unless confirmed_delivery_date self.confirmed_total_price = (confirmed_price * confirmed_quantity).round(2) end def self.ransackable_attributes(_auth_object = nil) %w[ id purchase_order_id unit_id quantity confirmed_quantity price confirmed_price delivery_date confirmed_delivery_date status ] end def self.ransackable_associations(_auth_object = nil) %w[ purchase_order unit ] end end end end
Version data entries
22 entries across 22 versions & 1 rubygems
Version | Path |
---|---|
comee_core-0.2.95 | app/models/comee/core/purchase_order_item.rb |
comee_core-0.2.94 | app/models/comee/core/purchase_order_item.rb |