lib/xeroizer/models/bank_transaction.rb in xeroizer-2.15.3 vs lib/xeroizer/models/bank_transaction.rb in xeroizer-2.15.5

- old
+ new

@@ -6,24 +6,35 @@ class BankTransactionModel < BaseModel set_permissions :read end class BankTransaction < Base + + BANK_TRANSACTION_STATUS = { + 'ACTIVE' => 'Active bank transactions', + 'DELETED' => 'Deleted bank transactions', + } unless defined?(BANK_TRANSACTION_STATUS) + BANK_TRANSACTION_STATUSES = BANK_TRANSACTION_STATUS.keys.sort + + def initialize(parent) super parent self.line_amount_types = "Exclusive" end set_primary_key :bank_transaction_id + list_contains_summary_only true + string :type date :date - date :updated_date_utc, :api_name => "UpdatedDateUTC" - date :fully_paid_on_date - string :reference - string :bank_transaction_id, :api_name => "BankTransactionID" - boolean :is_reconciled + datetime_utc :updated_date_utc, :api_name => "UpdatedDateUTC" + date :fully_paid_on_date + string :reference + string :bank_transaction_id, :api_name => "BankTransactionID" + boolean :is_reconciled + string :status alias_method :reconciled?, :is_reconciled belongs_to :contact, :model_name => 'Contact' string :line_amount_types @@ -34,9 +45,10 @@ :in => Xeroizer::Record::LINE_AMOUNT_TYPES, :allow_blanks => false validates_inclusion_of :type, :in => %w{SPEND RECEIVE}, :allow_blanks => false, :message => "Invalid type. Expected either SPEND or RECEIVE." + validates_inclusion_of :status, :in => BANK_TRANSACTION_STATUSES, :unless => :new_record? validates_presence_of :contact, :bank_account, :allow_blanks => false validates :line_items, :message => "Invalid line items. Must supply at least one." do self.line_items.size > 0