effective_memberships 0.6.7 → 0.6.8

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 994cc88bc7e75f8660b8af1a9930175493759241323675edc72da9ab53640ab5
4
- data.tar.gz: e29658115f728da1b3b33f5776fc24e461f6abe5ac9cb8d1362834153598a96e
3
+ metadata.gz: b1fcdc5cbf08b23f6aab670babdf698a2aff6b6d9d2067055dc970bb2eb4b8e4
4
+ data.tar.gz: 0a423a28dc16bd84135e741bcb9f290c7997c034ba0095319bab4cf36913d605
5
5
  SHA512:
6
- metadata.gz: 9b2a8938998de7838aef913e2e4f2262a0cde28fc04de5fb0d74816a1ff9ddc23db3000985aceca51b4578339553c9be2c39b0ca0df11c6bbecd7a620101e17f
7
- data.tar.gz: 95f6268d44cc10e4dabe9c4208f5d42ae669533f31876643aa2b31749414dc5cbf68e8368c062c5997cc61261579e6bec5decfb446020c5497fe74cc02a29640
6
+ metadata.gz: 296aa3d82c05315ac9247f28052e474440562fb85450fc4735f4875b26d67ccdd612df58727207251f2540f103efa41c519128e1366be02f446400816000f3de
7
+ data.tar.gz: 71feca7c490aea3f2ba49cae7c3318b79d5da533f1b7a6adedcb0ae38a1b9ea2c6b61daa163a9abfc92e2d3e8aff110dbb705c4e373bcfab488aae1d9533a82c
@@ -194,8 +194,14 @@ module EffectiveMembershipsApplicant
194
194
  # Set Apply to Join or Reclassification
195
195
  before_validation(if: -> { (new_record? || current_step == :select) && owner.present? }) do
196
196
  self.applicant_type ||= can_apply_applicant_types_collection().first
197
- self.from_category = owner.membership&.category
198
- self.from_status = owner.membership&.status if reinstatement?
197
+
198
+ if owner.membership.present?
199
+ self.from_category = owner.membership.categories.first
200
+ end
201
+
202
+ if owner.membership.present? && reinstatement?
203
+ self.from_status = owner.membership.statuses.find { |status| status.reinstatable? }
204
+ end
199
205
  end
200
206
 
201
207
  before_validation(if: -> { current_step == :experience }) do
@@ -779,7 +785,7 @@ module EffectiveMembershipsApplicant
779
785
  elsif reclassification?
780
786
  EffectiveMemberships.Registrar.reclassify!(owner, to: category)
781
787
  elsif reinstatement?
782
- EffectiveMemberships.Registrar.reinstate!(owner)
788
+ EffectiveMemberships.Registrar.reinstate!(owner, from: from_status)
783
789
  else
784
790
  raise('unsupported approval applicant_type')
785
791
  end
@@ -186,17 +186,18 @@ module EffectiveMembershipsRegistrar
186
186
  save!(owner, date: date)
187
187
  end
188
188
 
189
- def reinstate!(owner, date: nil, skip_fees: false)
189
+ def reinstate!(owner, from:, date: nil, skip_fees: false)
190
190
  raise('expecting a memberships owner') unless owner.class.respond_to?(:effective_memberships_owner?)
191
191
  raise('owner must have an existing membership. use register! instead') if owner.membership.blank?
192
192
 
193
- from = owner.membership.status
194
- raise('expecting a from memberships status') if from.present? && !from.class.respond_to?(:effective_memberships_status?)
193
+ raise('expecting a from') if from.blank?
194
+ raise('expected a from status or category') unless from.class.respond_to?(:effective_memberships_status?) || from.class.respond_to?(:effective_memberships_category?)
195
195
 
196
196
  date ||= Time.zone.now
197
197
 
198
198
  membership = owner.membership
199
- membership.membership_status(status: from).mark_for_destruction if from.present?
199
+ membership.membership_status(status: from).mark_for_destruction if from.class.respond_to?(:effective_memberships_status?)
200
+ membership.membership_category(category: from).mark_for_destruction if from.class.respond_to?(:effective_memberships_category?)
200
201
 
201
202
  unless skip_fees
202
203
  fee = owner.build_prorated_fee(date: date)
@@ -22,7 +22,11 @@
22
22
  - else
23
23
  None
24
24
 
25
- - if applicant.from_category.present?
25
+ - if applicant.from_status.present?
26
+ %tr
27
+ %th From Status
28
+ %td= applicant.from_status
29
+ - elsif applicant.from_category.present?
26
30
  %tr
27
31
  %th From Category
28
32
  %td= applicant.from_category
@@ -1,3 +1,3 @@
1
1
  - membership = f.object.owner.membership
2
2
 
3
- %p Apply for reinstatement from #{membership.status || membership.category}.
3
+ %p Apply for reinstatement from #{badges(f.object.from_status || f.object.from_category)}.
@@ -1,3 +1,3 @@
1
1
  module EffectiveMemberships
2
- VERSION = '0.6.7'
2
+ VERSION = '0.6.8'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: effective_memberships
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.7
4
+ version: 0.6.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Code and Effect