effective_memberships 0.7.2 → 0.7.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/app/models/concerns/effective_memberships_applicant.rb +2 -2
- data/app/models/concerns/effective_memberships_fee_payment.rb +7 -4
- data/app/models/concerns/effective_memberships_owner.rb +2 -2
- data/app/models/concerns/effective_memberships_registrar.rb +1 -1
- data/app/models/concerns/effective_memberships_user.rb +1 -1
- data/app/views/admin/fees/_form.html.haml +2 -0
- data/lib/effective_memberships/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e5630148361e363550dea41e32b75f80ce1534bd93a4c18873d724c7b0b9cd61
|
4
|
+
data.tar.gz: 46e7aa62a886f604e4ebbf9b80e76f44f3fe5ee933f9e5f468513d412007fd62
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 91fb28c6ba34f3ac0146219b14f613fb4d19b883963e268d1117bcd56d9f7fcdfb4c5bd807230c53d14d2aefc49eb525867cc23c370948562d881ad79a29029a
|
7
|
+
data.tar.gz: eb61306191817a7bde172a548d2cf373f3210b235857c1a35d6923522a7ffddafbeeff6124ce5ef2e8d2bb9161c32d0de606465738ee88aeb74adc2e15efc92e
|
@@ -383,14 +383,14 @@ module EffectiveMembershipsApplicant
|
|
383
383
|
# This required_steps is defined inside the included do .. end block so it overrides the acts_as_wizard one.
|
384
384
|
def required_steps
|
385
385
|
return self.class.test_required_steps if Rails.env.test? && self.class.test_required_steps.present?
|
386
|
-
return self.class.all_wizard_steps if category.blank?
|
387
386
|
|
388
387
|
@_required_steps ||= begin
|
389
388
|
# All required
|
390
389
|
required_steps = self.class.required_wizard_steps
|
391
390
|
|
392
391
|
# Based on current applicant
|
393
|
-
applicant_steps =
|
392
|
+
applicant_steps = self.class.all_wizard_steps if category.blank?
|
393
|
+
applicant_steps ||= (reinstatement? ? category.applicant_reinstatement_wizard_steps : category.applicant_wizard_steps)
|
394
394
|
|
395
395
|
# Sanity check
|
396
396
|
applicant_steps.delete(:stamp) unless apply_to_join?
|
@@ -100,7 +100,7 @@ module EffectiveMembershipsFeePayment
|
|
100
100
|
self.organization_type = (EffectiveMemberships.Organization.name if organization_id.present?)
|
101
101
|
end
|
102
102
|
|
103
|
-
before_validation(if: -> { current_step == :start && user && user.membership }) do
|
103
|
+
before_validation(if: -> { (new_record? || current_step == :start) && user && user.membership }) do
|
104
104
|
self.category ||= user.membership.categories.first if user.membership.categories.length == 1
|
105
105
|
self.with_status ||= user.membership.statuses.first if user.membership.statuses.length == 1
|
106
106
|
end
|
@@ -121,14 +121,14 @@ module EffectiveMembershipsFeePayment
|
|
121
121
|
# This required_steps is defined inside the included do .. end block so it overrides the acts_as_wizard one.
|
122
122
|
def required_steps
|
123
123
|
return self.class.test_required_steps if Rails.env.test? && self.class.test_required_steps.present?
|
124
|
-
return self.class.all_wizard_steps if category.blank?
|
125
124
|
|
126
125
|
@_required_steps ||= begin
|
127
126
|
# All required
|
128
127
|
required_steps = self.class.required_wizard_steps
|
129
128
|
|
130
129
|
# Based on current fee payment
|
131
|
-
fee_payment_steps =
|
130
|
+
fee_payment_steps = self.class.all_wizard_steps if category.blank?
|
131
|
+
fee_payment_steps ||= Array(category.fee_payment_wizard_steps)
|
132
132
|
|
133
133
|
# Sanity Check
|
134
134
|
fee_payment_steps.delete(:organization) unless organization?
|
@@ -162,10 +162,13 @@ module EffectiveMembershipsFeePayment
|
|
162
162
|
submit_fees
|
163
163
|
end
|
164
164
|
|
165
|
+
def existing_renewal_fee
|
166
|
+
fees.find { |fee| fee.fee_type == 'Renewal' }
|
167
|
+
end
|
168
|
+
|
165
169
|
def after_submit_purchased!
|
166
170
|
EffectiveMemberships.Registrar.fee_payment_purchased!(owner)
|
167
171
|
end
|
168
|
-
|
169
172
|
end
|
170
173
|
|
171
174
|
def to_s
|
@@ -193,7 +193,7 @@ module EffectiveMembershipsOwner
|
|
193
193
|
end
|
194
194
|
|
195
195
|
# Only thing optional is category, late_on and bad_standing_on
|
196
|
-
def build_title_fee(title:, fee_type:, period:, price
|
196
|
+
def build_title_fee(title:, fee_type:, period:, price: nil, tax_exempt: nil, qb_item_name: nil, category: nil)
|
197
197
|
fee = fees.find do |fee|
|
198
198
|
fee.fee_type == fee_type && fee.period == period && fee.title == title &&
|
199
199
|
(category.blank? || fee.category_id == category.id && fee.category_type == category.class.name)
|
@@ -228,7 +228,7 @@ module EffectiveMembershipsOwner
|
|
228
228
|
|
229
229
|
# Sanity check.
|
230
230
|
# If there's already a purchased or unpurchased Prorated (or other membership period advancing fee) in this period
|
231
|
-
# We shouldn't be building renewal fees for the same period a prorated fee is
|
231
|
+
# We shouldn't be building renewal fees for the same period a prorated fee is purchased in
|
232
232
|
prorated = membership_period_fee(category: category, period: period, except: 'Renewal')
|
233
233
|
raise('must not have an existing membership_period (prorated) fee in this period') if prorated.present?
|
234
234
|
|
@@ -437,7 +437,7 @@ module EffectiveMembershipsRegistrar
|
|
437
437
|
# Called in the after_purchase of fee payment
|
438
438
|
def fee_payment_purchased!(owner)
|
439
439
|
raise('expecting a memberships owner') unless owner.class.respond_to?(:effective_memberships_owner?)
|
440
|
-
owner.update_membership_status!
|
440
|
+
owner.update_membership_status! if owner.membership.present?
|
441
441
|
end
|
442
442
|
|
443
443
|
protected
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: effective_memberships
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.7.
|
4
|
+
version: 0.7.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Code and Effect
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-09-
|
11
|
+
date: 2022-09-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|