1
0
mirror of https://github.com/LaCasemate/fab-manager.git synced 2024-12-10 21:24:20 +01:00
fab-manager/app/models/wallet_transaction.rb

26 lines
711 B
Ruby

# frozen_string_literal: true
# track of all transactions payed using the given wallet
class WalletTransaction < ApplicationRecord
include AmountConcern
include NotificationAttachedObject
belongs_to :invoicing_profile
belongs_to :wallet
belongs_to :reservation
# what was paid with the wallet
has_one :invoice, dependent: :nullify
has_one :payment_schedule, dependent: :nullify
# how the wallet was credited
has_one :invoice_item, as: :object, dependent: :destroy
validates :transaction_type, inclusion: { in: %w[credit debit] }
validates :invoicing_profile, :wallet, presence: true
delegate :user, to: :invoicing_profile
def original_invoice
invoice_item.invoice
end
end