effective_memberships 0.17.2 → 0.17.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_fee_payment.rb +33 -9
- data/app/views/effective/applicants/cpd.html.haml +3 -3
- data/app/views/effective/fee_payments/_cpd.html.haml +1 -1
- data/app/views/effective/fee_payments/cpd.html.haml +6 -3
- data/lib/effective_memberships/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 172faa35356355bd3a8d6f2bd51a4d1ec26cac9b58c617713b972096c32ec42d
|
4
|
+
data.tar.gz: fa370c75fcf09fd03134451dc3ffeefb3bd3b0b9032392fb4e9a17c364f810a0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1853d32c2a951cc21b34ee224007bed5ca1af849027f3ac398cd99a77c9397e4cc8cce59ba7e26c23ffd4cb006676933a7a208a95b2c55a9f3b48ff0b6218db8
|
7
|
+
data.tar.gz: a5a8f725ca25361aa8424108fc59c4aff507367a895c0f99f94ecdbce30117a6d77049facf8ba255fdacef68a555c5c87172f8c72ca1bc1304f4183fe66362f2
|
@@ -48,6 +48,7 @@ module EffectiveMembershipsFeePayment
|
|
48
48
|
|
49
49
|
# CPD Step
|
50
50
|
attr_accessor :declare_cpd
|
51
|
+
attr_accessor :skip_cpd_validation
|
51
52
|
|
52
53
|
# Declarations Step
|
53
54
|
attr_accessor :declare_code_of_ethics
|
@@ -127,11 +128,11 @@ module EffectiveMembershipsFeePayment
|
|
127
128
|
# CPD step
|
128
129
|
with_options(if: -> { current_step == :cpd }) do
|
129
130
|
validates :declare_cpd, acceptance: true
|
131
|
+
end
|
130
132
|
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
end
|
133
|
+
validate(if: -> { current_step == :cpd && !skip_cpd_validation }) do
|
134
|
+
if (cpd_cycles = cpd_uncompleted_cpd_cycles).present?
|
135
|
+
self.errors.add(:base, "Please complete #{cpd_cycles.map(&:to_s).to_sentence} to continue")
|
135
136
|
end
|
136
137
|
end
|
137
138
|
|
@@ -172,6 +173,11 @@ module EffectiveMembershipsFeePayment
|
|
172
173
|
end
|
173
174
|
end
|
174
175
|
|
176
|
+
def can_visit_step?(step)
|
177
|
+
return (step == :submitted) if was_submitted?
|
178
|
+
can_revisit_completed_steps(step)
|
179
|
+
end
|
180
|
+
|
175
181
|
# All Fees and Orders
|
176
182
|
# Overriding acts_as_purchasable_wizard
|
177
183
|
def submit_fees
|
@@ -246,12 +252,30 @@ module EffectiveMembershipsFeePayment
|
|
246
252
|
end
|
247
253
|
|
248
254
|
def cpd_required_cpd_cycles
|
249
|
-
|
255
|
+
@cpd_required_cpd_cycles ||= begin
|
256
|
+
date = submitted_at || Time.zone.now
|
257
|
+
|
258
|
+
cpd_cycles = [] # Return value
|
259
|
+
|
260
|
+
# The current and previous cycle
|
261
|
+
current = EffectiveCpd.current_cpd_cycle(date: date)
|
262
|
+
previous = EffectiveCpd.previous_cpd_cycle(date: date)
|
250
263
|
|
251
|
-
|
252
|
-
|
253
|
-
|
254
|
-
|
264
|
+
if current.present? && cpd_requirement.to_s.include?('current')
|
265
|
+
cpd_cycles << current
|
266
|
+
end
|
267
|
+
|
268
|
+
# Only include if they were a member during the previous period
|
269
|
+
if previous.present? && cpd_requirement.to_s.include?('previous')
|
270
|
+
period = EffectiveMemberships.Registrar.period(date: previous.end_at&.advance(months: -1) || current&.start_at&.advance(months: -1) || previous.start_at.advance(months: 1))
|
271
|
+
renewal_date = EffectiveMemberships.Registrar.renewal_fee_date(date: period)
|
272
|
+
membership_history = owner.membership_history_on(renewal_date.advance(days: -1))
|
273
|
+
|
274
|
+
cpd_cycles << previous if membership_history.present? && !membership_history.removed?
|
275
|
+
end
|
276
|
+
|
277
|
+
cpd_cycles
|
278
|
+
end
|
255
279
|
end
|
256
280
|
|
257
281
|
def cpd_completed_cpd_cycles
|
@@ -4,12 +4,12 @@
|
|
4
4
|
= card(et('effective_cpd.name')) do
|
5
5
|
= render('cpd_requirements', applicant: resource)
|
6
6
|
|
7
|
-
= card('All ' + cpd_statements_label) do
|
8
|
-
= render('effective/wizard_steps/cpd_statements', resource: resource)
|
9
|
-
|
10
7
|
= card('Requirements') do
|
11
8
|
= render('effective/wizard_steps/cpd_requirements', resource: resource)
|
12
9
|
|
10
|
+
= card('All ' + cpd_statements_label) do
|
11
|
+
= render('effective/wizard_steps/cpd_statements', resource: resource)
|
12
|
+
|
13
13
|
= card do
|
14
14
|
= effective_form_with(model: resource, url: wizard_path(step), method: :put) do |f|
|
15
15
|
= f.hidden_field :id
|
@@ -4,12 +4,12 @@
|
|
4
4
|
= card(et('effective_cpd.name')) do
|
5
5
|
= render('cpd_requirements', fee_payment: resource)
|
6
6
|
|
7
|
-
= card('All ' + cpd_statements_label) do
|
8
|
-
= render('effective/wizard_steps/cpd_statements', resource: resource)
|
9
|
-
|
10
7
|
= card('Requirements') do
|
11
8
|
= render('effective/wizard_steps/cpd_requirements', resource: resource)
|
12
9
|
|
10
|
+
= card('All ' + cpd_statements_label) do
|
11
|
+
= render('effective/wizard_steps/cpd_statements', resource: resource)
|
12
|
+
|
13
13
|
= card do
|
14
14
|
= effective_form_with(model: resource, url: wizard_path(step), method: :put) do |f|
|
15
15
|
= f.hidden_field :id
|
@@ -17,4 +17,7 @@
|
|
17
17
|
- f.object.declare_cpd = true if f.object.has_completed_step?(:cpd)
|
18
18
|
= render('effective/wizard_steps/cpd_fields', f: f)
|
19
19
|
|
20
|
+
- if Rails.env.development? || Rails.env.test?
|
21
|
+
= f.check_box :skip_cpd_validation, label: "Yes, skip the :cpd step validation (development and test mode only)"
|
22
|
+
|
20
23
|
= f.save 'Save and Continue'
|
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.17.
|
4
|
+
version: 0.17.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: 2023-05-
|
11
|
+
date: 2023-05-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -574,7 +574,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
574
574
|
- !ruby/object:Gem::Version
|
575
575
|
version: '0'
|
576
576
|
requirements: []
|
577
|
-
rubygems_version: 3.
|
577
|
+
rubygems_version: 3.0.8
|
578
578
|
signing_key:
|
579
579
|
specification_version: 4
|
580
580
|
summary: Manage your professional association online. Membership categories, applications
|