Class: Effective::Stamp

Inherits:
ActiveRecord::Base
  • Object
show all
Defined in:
app/models/effective/stamp.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#admin_actionObject

Returns the value of attribute admin_action.



10
11
12
# File 'app/models/effective/stamp.rb', line 10

def admin_action
  @admin_action
end

Instance Method Details

#created_by_admin?Boolean

Returns:

  • (Boolean)


104
105
106
# File 'app/models/effective/stamp.rb', line 104

def created_by_admin?
  stamp_wizard_id.blank? && applicant_id.blank?
end

#mark_as_issued!Object



100
101
102
# File 'app/models/effective/stamp.rb', line 100

def mark_as_issued!
  issued!
end

#mark_as_submitted!Object



96
97
98
# File 'app/models/effective/stamp.rb', line 96

def 
  
end

#mark_paid!Object

This is the Admin Save and Mark Paid action



116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
# File 'app/models/effective/stamp.rb', line 116

def mark_paid!
  assign_attributes(admin_action: true)

  category = owner&.membership&.categories&.first

  if category.present?
    assign_attributes(
      price: category.stamp_fee,
      tax_exempt: category.stamp_fee_tax_exempt,
      qb_item_name: category.stamp_fee_qb_item_name
    )
  end

   # Will fail with invalid owner membership anyway

  if category.present?
    Effective::Order.new(items: self, user: owner).mark_as_purchased!
  end

  true
end

#submit!Object

Called by an application when submitted Called by a stamp wizard when submitted



110
111
112
113
# File 'app/models/effective/stamp.rb', line 110

def submit!
  raise('expected a purchased order') unless (purchased? || applicant&.submit_order&.purchased?)
  
end

#to_sObject



86
87
88
89
90
91
92
93
94
# File 'app/models/effective/stamp.rb', line 86

def to_s
  [
    model_name.human, 
    ('Replacement' if stamp_wizard_id_was.present?), 
    '-',
    name.presence, 
    ("- #{category}" if category.present?)
  ].compact.join(' ')
end