Sha256: 0a9fdae7c8e370576b606520c6e1cd37eca4a1302af52abded4519e2dbaa2a12
Contents?: true
Size: 1.13 KB
Versions: 3
Compression:
Stored size: 1.13 KB
Contents
include_set Abstract::Accountable require_field :account def default_account_status can_approve? ? "unverified" : "unapproved" end def can_approve? Card.new(type_id: Card.default_accounted_type_id).ok? :create end def activate_accounted self.type_id = Card.default_accounted_type_id end event :auto_approve_with_verification, :validate, on: :create, when: :can_approve? do request_verification end event :approve_with_verification, :validate, on: :update, trigger: :required do approvable { request_verification } end event :approve_without_verification, :validate, on: :update, trigger: :required do # TODO: if validated here, add trigger and activate in storage phase approvable do activate_accounted subfield(:account).activate_account end end event :act_as_current_for_integrate_stage, :integrate, on: :create do # needs justification! Auth.current_id = id end def request_verification acct = subfield :account acct.subfield :status, content: "unverified" acct.trigger_event! :send_verification_email end def approvable can_approve? ? yield : abort(:failure, "illegal approval") # raise permission denied? end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
card-mod-account-0.14.2 | set/type/signup.rb |
card-mod-account-0.14.1 | set/type/signup.rb |
card-mod-account-0.14.0 | set/type/signup.rb |