Sha256: e6c158649fbc589d87697bcd974438eda0cb5e4d364145e293aedda604950e6b
Contents?: true
Size: 1.28 KB
Versions: 11
Compression:
Stored size: 1.28 KB
Contents
module Comee module Core class Invoice < ApplicationRecord before_save :update_invoice_total belongs_to :sales_order has_many :invoice_items has_noticed_notifications model_name: "Comee::Core::Notification" enum :status, {draft: 0, approved: 1} enum :payment_status, {not_settled: 0, settled: 1} validates :invoice_no, presence: true, uniqueness: true validates :date_issued, :payment_term, :status, :payment_status, presence: true validates :additional_charges, :total_price, numericality: {greater_than_or_equal_to: 0, allow_nil: true} delegate(:order_number, to: :sales_order) def update_invoice_total self.additional_charges ||= 0 self.total_price ||= 0 self.total_price -= additional_charges_was if additional_charges_was && additional_charges_changed? self.total_price += additional_charges end def self.ransackable_attributes(_auth_object = nil) %w[ id sales_order_id invoice_no date_issued ship_name delivery_date voyage_no status payment_status ] end def self.ransackable_associations(_auth_object = nil) ["sales_order"] end end end end
Version data entries
11 entries across 11 versions & 1 rubygems