effective_memberships 0.13.1 → 0.13.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/models/concerns/effective_memberships_applicant.rb +17 -6
- data/app/models/concerns/effective_memberships_registrar.rb +18 -5
- data/app/models/effective/registrar_action.rb +2 -2
- data/app/views/admin/applicants/_form_approve.html.haml +1 -1
- data/app/views/admin/registrar_actions/_form_reclassify.html.haml +6 -3
- data/app/views/admin/registrar_actions/_form_reinstatement.html.haml +6 -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: 3eddddc73bf54e32d870cd26982092d29cedf29083845a6ec93ddad09f9a8c46
|
4
|
+
data.tar.gz: 69e21c598c39b6d28a5031bd07308c2ededa79448975da5d4db4d9a3be50325e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 69b84ed6117f73c0b463f4236defe71bec83a59c0f06a6a2954373e6ae88070132d022dcb9f9fd39e87bd14f993b236a32e2f3ddc1b63aa8969bbb1826400ae0
|
7
|
+
data.tar.gz: 509f767917c6d3553127423e26f26784ca92f6a73b115482b5d1d25ad393fa578f73d5396446c5be8335d8a3f18dcefa53e15634edb40c80bed5c8b91658d718
|
@@ -360,7 +360,6 @@ module EffectiveMembershipsApplicant
|
|
360
360
|
validates :declare_reinstatement, acceptance: true
|
361
361
|
end
|
362
362
|
|
363
|
-
|
364
363
|
# Admin Approve
|
365
364
|
validate(if: -> { approved_membership_date.present? }) do
|
366
365
|
if approved_membership_date.to_date > Time.zone.now.to_date
|
@@ -501,9 +500,9 @@ module EffectiveMembershipsApplicant
|
|
501
500
|
end
|
502
501
|
|
503
502
|
# Draft -> Submitted requirements
|
504
|
-
def submit!
|
505
|
-
raise('already submitted') if was_submitted?
|
506
|
-
raise('expected a purchased order')
|
503
|
+
def submit!(force: false)
|
504
|
+
raise('already submitted') if was_submitted? && !force
|
505
|
+
raise('expected a purchased order') if !submit_order&.purchased? && !force
|
507
506
|
|
508
507
|
wizard_steps[:checkout] ||= Time.zone.now
|
509
508
|
wizard_steps[:submitted] = Time.zone.now
|
@@ -863,9 +862,21 @@ module EffectiveMembershipsApplicant
|
|
863
862
|
number: approved_membership_number.presence # Set by the Admin Process form, or nil
|
864
863
|
)
|
865
864
|
elsif reclassification?
|
866
|
-
EffectiveMemberships.Registrar.reclassify!(
|
865
|
+
EffectiveMemberships.Registrar.reclassify!(
|
866
|
+
owner,
|
867
|
+
to: to_category,
|
868
|
+
status: to_status,
|
869
|
+
date: approved_membership_date.presence, # Set by the Admin Process form, or nil
|
870
|
+
number: approved_membership_number.presence # Set by the Admin Process form, or nil
|
871
|
+
)
|
867
872
|
elsif reinstatement?
|
868
|
-
|
873
|
+
# No status
|
874
|
+
EffectiveMemberships.Registrar.reinstate!(
|
875
|
+
owner,
|
876
|
+
to: to_category,
|
877
|
+
date: approved_membership_date.presence, # Set by the Admin Process form, or nil
|
878
|
+
number: approved_membership_number.presence # Set by the Admin Process form, or nil
|
879
|
+
)
|
869
880
|
else
|
870
881
|
raise('unsupported approval applicant_type')
|
871
882
|
end
|
@@ -163,7 +163,7 @@ module EffectiveMembershipsRegistrar
|
|
163
163
|
owner.build_prorated_fee(date: date)
|
164
164
|
end
|
165
165
|
|
166
|
-
def reclassify!(owner, to:, status: nil, date: nil, skip_fees: false)
|
166
|
+
def reclassify!(owner, to:, status: nil, date: nil, number: nil, skip_fees: false)
|
167
167
|
raise('expecting a memberships owner') unless owner.class.respond_to?(:effective_memberships_owner?)
|
168
168
|
raise('owner must have an existing membership. use register! instead') if owner.membership.blank?
|
169
169
|
|
@@ -183,6 +183,14 @@ module EffectiveMembershipsRegistrar
|
|
183
183
|
# Last Changed Date
|
184
184
|
membership.registration_on = date
|
185
185
|
|
186
|
+
# Assign Number (this could be nil)
|
187
|
+
number = next_membership_number(owner, to: to) if number.nil?
|
188
|
+
|
189
|
+
if number.present?
|
190
|
+
membership.number = number
|
191
|
+
membership.number_as_integer = (Integer(number) rescue nil)
|
192
|
+
end
|
193
|
+
|
186
194
|
# Assign Category
|
187
195
|
membership.build_membership_category(category: to)
|
188
196
|
membership.membership_category(category: from).mark_for_destruction
|
@@ -213,7 +221,7 @@ module EffectiveMembershipsRegistrar
|
|
213
221
|
end
|
214
222
|
end
|
215
223
|
|
216
|
-
def reinstate!(owner, to: nil, date: nil, skip_fees: false)
|
224
|
+
def reinstate!(owner, to: nil, date: nil, number: nil, skip_fees: false)
|
217
225
|
raise('expecting a memberships owner') unless owner.class.respond_to?(:effective_memberships_owner?)
|
218
226
|
|
219
227
|
history = owner.reinstatement_membership_history || owner.membership_histories.last
|
@@ -236,10 +244,15 @@ module EffectiveMembershipsRegistrar
|
|
236
244
|
membership.joined_on = date
|
237
245
|
membership.registration_on = date
|
238
246
|
|
247
|
+
# Assign Old Number (this could be nil)
|
248
|
+
number = history.number if history.number.present?
|
249
|
+
|
239
250
|
# Assign Number (this could be nil)
|
240
|
-
if
|
241
|
-
|
242
|
-
|
251
|
+
number = next_membership_number(owner, to: to) if number.nil?
|
252
|
+
|
253
|
+
if number.present?
|
254
|
+
membership.number = number
|
255
|
+
membership.number_as_integer = (Integer(number) rescue nil)
|
243
256
|
end
|
244
257
|
|
245
258
|
# Assign Category
|
@@ -64,12 +64,12 @@ module Effective
|
|
64
64
|
|
65
65
|
def reclassify!
|
66
66
|
update!(current_action: :reclassify)
|
67
|
-
EffectiveMemberships.Registrar.reclassify!(owner, to: category, skip_fees: skip_fees?)
|
67
|
+
EffectiveMemberships.Registrar.reclassify!(owner, to: category, number: number, skip_fees: skip_fees?)
|
68
68
|
end
|
69
69
|
|
70
70
|
def reinstate!
|
71
71
|
update!(current_action: :reinstate)
|
72
|
-
EffectiveMemberships.Registrar.reinstate!(owner, skip_fees: skip_fees?)
|
72
|
+
EffectiveMemberships.Registrar.reinstate!(owner, number: number, skip_fees: skip_fees?)
|
73
73
|
end
|
74
74
|
|
75
75
|
def status_assign!
|
@@ -8,7 +8,7 @@
|
|
8
8
|
|
9
9
|
%p
|
10
10
|
- if applicant.owner.membership&.number_was.present?
|
11
|
-
The member will keep their existing membership number: #{applicant.owner.membership.
|
11
|
+
The member will keep their existing membership number: #{applicant.owner.membership.number_was}.
|
12
12
|
- elsif applicant.reinstatement? && reinstatement&.number.present?
|
13
13
|
The member will keep their previous membership number: #{reinstatement.number}.
|
14
14
|
- else
|
@@ -18,12 +18,15 @@
|
|
18
18
|
= f.check_box :current_action, label: 'Yes, reclassify this member to another category'
|
19
19
|
|
20
20
|
= f.show_if :current_action, true do
|
21
|
-
%p The member will keep their existing membership number: #{membership.number}.
|
22
|
-
|
23
21
|
- categories = f.object.owner.registrar_action_categories(:reclassify) - membership.categories
|
24
|
-
|
25
22
|
= f.select :category_id, categories, label: 'Reclassify to', required: true
|
26
23
|
|
24
|
+
%p
|
25
|
+
- if membership.number.present?
|
26
|
+
The member will keep their existing membership number: #{membership.number}.
|
27
|
+
- else
|
28
|
+
= f.text_field :membership_number, hint: "leave blank to assign the next number as per the category"
|
29
|
+
|
27
30
|
= f.check_box :skip_fees, label: 'Yes, skip creating fees and just set the category'
|
28
31
|
|
29
32
|
= f.hide_if :skip_fees, true do
|
@@ -27,6 +27,12 @@
|
|
27
27
|
= f.check_box :current_action, label: 'Yes, reinstate this member to their previous category, status and number'
|
28
28
|
|
29
29
|
= f.show_if :current_action, true do
|
30
|
+
%p
|
31
|
+
- if reinstatement.number.present?
|
32
|
+
The member will keep their existing membership number: #{reinstatement.number}.
|
33
|
+
- else
|
34
|
+
= f.text_field :membership_number, hint: "leave blank to assign the next number as per the category"
|
35
|
+
|
30
36
|
= f.check_box :skip_fees, label: 'Yes, skip creating fees and just set the category'
|
31
37
|
|
32
38
|
= f.hide_if :skip_fees, true do
|
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.13.
|
4
|
+
version: 0.13.2
|
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: 2023-03-
|
11
|
+
date: 2023-03-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|