houdini/app/models/bank_account.rb
Bradley M. Kuhn 6772312ea7 Relicense all .rb files under new project license.
The primary license of the project is changing to:
  AGPL-3.0-or-later WITH Web-Template-Output-Additional-Permission-3.0-or-later

with some specific files to be licensed under the one of two licenses:
   CC0-1.0
   LGPL-3.0-or-later

This commit is one of the many steps to relicense the entire codebase.

Documentation granting permission for this relicensing (from all past
contributors who hold copyrights) is on file with Software Freedom
Conservancy, Inc.
2018-03-25 15:10:40 -04:00

41 lines
1.4 KiB
Ruby

# License: AGPL-3.0-or-later WITH Web-Template-Output-Additional-Permission-3.0-or-later
class BankAccount < ActiveRecord::Base
attr_accessible \
:name, # str (readable bank name identifier, eg. "Wells Fargo *1234")
:confirmation_token, # str (randomly generated private token for email confirmation)
:account_number, # str (last digits only)
:bank_name, # str
:pending_verification, # bool (whether this bank account is still awaiting email confirmation)
:status, # str
:email, # str (contact email associated with the user who created this bank account)
:deleted, # bool (soft delete flag)
:stripe_bank_account_token, # str
:stripe_bank_account_id, # str
:nonprofit_id, :nonprofit
#validates :stripe_bank_account_token, presence: true, uniqueness: true
# validates :stripe_bank_account_id, presence: true, uniqueness: true
#validates :nonprofit, presence: true
#validates :email, presence: true, format: {with: Email::Regex}
#validate :nonprofit_must_be_vetted, on: :create
#validate :nonprofit_has_stripe_account
has_many :payouts
belongs_to :nonprofit
def nonprofit_must_be_vetted
errors.add(:nonprofit, "must be vetted") unless self.nonprofit && self.nonprofit.vetted
end
def nonprofit_has_stripe_account
errors.add(:nonprofit, 'must have a Stripe account id') if !self.nonprofit || self.nonprofit.stripe_account_id.blank?
end
# Manually cause an instance to become invalid
def invalidate!
@not_valid = true
end
end