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)


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

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

#mark_as_issued!Object



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

def mark_as_issued!
  issued!
end

#mark_as_submitted!Object



92
93
94
# File 'app/models/effective/stamp.rb', line 92

def 
  
end

#mark_paid!Object

This is the Admin Save and Mark Paid action



112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
# File 'app/models/effective/stamp.rb', line 112

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



106
107
108
109
# File 'app/models/effective/stamp.rb', line 106

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

#to_sObject



82
83
84
85
86
87
88
89
90
# File 'app/models/effective/stamp.rb', line 82

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