effective_memberships 0.4.12 → 0.4.13
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 +43 -10
- data/app/views/admin/applicants/_form.html.haml +4 -0
- data/app/views/admin/applicants/_form_transcripts.html.haml +12 -0
- data/app/views/effective/applicants/_transcripts.html.haml +30 -0
- data/app/views/effective/applicants/_transcripts_requirements.html.haml +14 -0
- data/app/views/effective/applicants/transcripts.html.haml +13 -0
- data/db/migrate/01_create_effective_memberships.rb.erb +5 -0
- data/lib/effective_memberships/version.rb +1 -1
- metadata +6 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 013c543f704442649f57e61b6d381da7abd27a181b8cfb00eafcca8713eec4d0
|
4
|
+
data.tar.gz: 71d84f67fad2d7f5718fd6186eed8ee3877ccc32292dcd56456fe93bd73918fe
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f6e975206c149832fc53de2db37b08405c21b22021e1fdae0f5cbd6d619747f9288b86f38f22a943fe27e69a963af44fb9b201fa43cc3bac20d90211ea8cb557
|
7
|
+
data.tar.gz: 3ba98f86d83f2afc099d57463495aa7fa643a72af6b230156538eeebc0bb6b306bd2bae12726e651fc59b38cf1c2db353db881c6149049370d34aae189370657
|
@@ -24,6 +24,11 @@ module EffectiveMembershipsApplicant
|
|
24
24
|
def categories
|
25
25
|
['Apply to Join', 'Apply to Reclassify']
|
26
26
|
end
|
27
|
+
|
28
|
+
def transcripts_statuses
|
29
|
+
[]
|
30
|
+
end
|
31
|
+
|
27
32
|
end
|
28
33
|
|
29
34
|
included do
|
@@ -48,6 +53,7 @@ module EffectiveMembershipsApplicant
|
|
48
53
|
organization: 'Organization', # Organization only. Organization fields.
|
49
54
|
education: 'Education',
|
50
55
|
course_amounts: 'Courses',
|
56
|
+
transcripts: 'Transcripts',
|
51
57
|
experience: 'Work Experience',
|
52
58
|
references: 'References',
|
53
59
|
files: 'Attach Files',
|
@@ -64,6 +70,10 @@ module EffectiveMembershipsApplicant
|
|
64
70
|
log_changes(except: :wizard_steps) if respond_to?(:log_changes)
|
65
71
|
|
66
72
|
has_many_attached :applicant_files
|
73
|
+
has_many_attached :transcripts
|
74
|
+
|
75
|
+
# Transcripts Step
|
76
|
+
attr_accessor :declare_will_send_transcripts
|
67
77
|
|
68
78
|
# Declarations Step
|
69
79
|
attr_accessor :declare_code_of_ethics
|
@@ -143,6 +153,11 @@ module EffectiveMembershipsApplicant
|
|
143
153
|
applicant_experiences_months :integer
|
144
154
|
applicant_experiences_details :text
|
145
155
|
|
156
|
+
# Transcripts
|
157
|
+
transcripts_received_on :date
|
158
|
+
transcripts_status :string
|
159
|
+
transcripts_details :text
|
160
|
+
|
146
161
|
# Additional Information
|
147
162
|
additional_information :text
|
148
163
|
|
@@ -284,6 +299,11 @@ module EffectiveMembershipsApplicant
|
|
284
299
|
end
|
285
300
|
end
|
286
301
|
|
302
|
+
# Transcripts step
|
303
|
+
with_options(if: -> { current_step == :transcripts }) do
|
304
|
+
validates :declare_will_send_transcripts, acceptance: true
|
305
|
+
end
|
306
|
+
|
287
307
|
# Declarations Step
|
288
308
|
with_options(if: -> { current_step == :declarations }) do
|
289
309
|
validates :declare_code_of_ethics, acceptance: true
|
@@ -548,16 +568,33 @@ module EffectiveMembershipsApplicant
|
|
548
568
|
category&.min_applicant_references.to_i
|
549
569
|
end
|
550
570
|
|
571
|
+
def applicant_references_required?
|
572
|
+
min_applicant_references > 0
|
573
|
+
end
|
574
|
+
|
551
575
|
# Endorsements Step
|
552
576
|
def min_applicant_endorsements
|
553
577
|
category&.min_applicant_endorsements.to_i
|
554
578
|
end
|
555
579
|
|
580
|
+
def applicant_endorsements_required?
|
581
|
+
min_applicant_endorsements > 0
|
582
|
+
end
|
583
|
+
|
556
584
|
# Equivalences Step
|
557
585
|
def min_applicant_equivalences
|
558
586
|
category&.min_applicant_equivalences.to_i
|
559
587
|
end
|
560
588
|
|
589
|
+
# Transcripts Step
|
590
|
+
def transcripts_received?
|
591
|
+
transcripts_received_on_was.present?
|
592
|
+
end
|
593
|
+
|
594
|
+
def transcripts_required?
|
595
|
+
category.applicant_wizard_steps.include?(:transcripts)
|
596
|
+
end
|
597
|
+
|
561
598
|
# Files Step
|
562
599
|
def min_applicant_files
|
563
600
|
category&.min_applicant_files.to_i
|
@@ -573,26 +610,22 @@ module EffectiveMembershipsApplicant
|
|
573
610
|
)
|
574
611
|
end
|
575
612
|
|
576
|
-
def applicant_endorsements_required?
|
577
|
-
min_applicant_endorsements > 0
|
578
|
-
end
|
579
|
-
|
580
|
-
def applicant_references_required?
|
581
|
-
min_applicant_references > 0
|
582
|
-
end
|
583
|
-
|
584
613
|
# When an application is submitted, these must be done to go to completed.
|
585
614
|
# An Admin can override this and just set them to completed.
|
586
615
|
def completed_requirements
|
587
616
|
requirements = {}
|
588
617
|
return requirements unless category.present?
|
589
618
|
|
619
|
+
if category.applicant_wizard_steps.include?(:endorsements) || applicant_endorsements_required?
|
620
|
+
requirements['Applicant Endorsements'] = (!applicant_endorsements_required? || applicant_endorsements.count(&:completed?) >= min_applicant_endorsements)
|
621
|
+
end
|
622
|
+
|
590
623
|
if category.applicant_wizard_steps.include?(:references) || applicant_references_required?
|
591
624
|
requirements['Applicant References'] = (!applicant_references_required? || applicant_references.count(&:completed?) >= min_applicant_references)
|
592
625
|
end
|
593
626
|
|
594
|
-
if category.applicant_wizard_steps.include?(:
|
595
|
-
requirements['Applicant
|
627
|
+
if category.applicant_wizard_steps.include?(:transcripts) || transcripts_required?
|
628
|
+
requirements['Applicant Transcripts'] = (!transcripts_required? || transcripts_received?)
|
596
629
|
end
|
597
630
|
|
598
631
|
requirements
|
@@ -29,6 +29,10 @@
|
|
29
29
|
= tab 'Endorsements' do
|
30
30
|
.mb-4= render_inline_datatable(Admin::EffectiveApplicantEndorsementsDatatable.new(applicant: applicant))
|
31
31
|
|
32
|
+
- if applicant.transcripts_required?
|
33
|
+
= tab 'Transcripts' do
|
34
|
+
= render 'admin/applicants/form_transcripts', applicant: applicant
|
35
|
+
|
32
36
|
- if applicant.fees.present? || applicant.orders.present?
|
33
37
|
= tab 'Fees' do
|
34
38
|
.mb-4
|
@@ -0,0 +1,12 @@
|
|
1
|
+
= effective_form_with(model: [:admin, applicant], engine: true) do |f|
|
2
|
+
= f.date_field :transcripts_received_on
|
3
|
+
|
4
|
+
- statuses = f.object.class.transcripts_statuses
|
5
|
+
|
6
|
+
- if statuses.present?
|
7
|
+
= f.select_field :transcripts_status, statuses
|
8
|
+
|
9
|
+
= f.file_field :transcripts
|
10
|
+
= f.text_area :transcripts_details, hint: 'These details will be displayed to the applicant'
|
11
|
+
|
12
|
+
= f.submit 'Save Transcripts', border: false, center: true
|
@@ -0,0 +1,30 @@
|
|
1
|
+
= wizard_card(applicant) do
|
2
|
+
%table.table
|
3
|
+
%tbody
|
4
|
+
%tr
|
5
|
+
%th Status
|
6
|
+
%td
|
7
|
+
- if applicant.transcripts_received?
|
8
|
+
Received on #{applicant.transcripts_received_on.strftime('%F')}
|
9
|
+
- else
|
10
|
+
Not yet received
|
11
|
+
|
12
|
+
- if applicant.transcripts_status.present?
|
13
|
+
%tr
|
14
|
+
%th Transcripts Status
|
15
|
+
%td= applicant.transcripts_status
|
16
|
+
|
17
|
+
- if applicant.transcripts_details.present?
|
18
|
+
%tr
|
19
|
+
%th Details
|
20
|
+
%td= applicant.transcripts_details
|
21
|
+
|
22
|
+
- if applicant.transcripts.present?
|
23
|
+
%tr
|
24
|
+
%th Transcripts Upload
|
25
|
+
%td
|
26
|
+
- applicant.transcripts.each do |file|
|
27
|
+
%p= link_to(file.filename, url_for(file), target: '_blank')
|
28
|
+
|
29
|
+
- unless applicant.transcripts_received?
|
30
|
+
= render('effective/applicants/transcripts_requirements', applicant: applicant)
|
@@ -0,0 +1,14 @@
|
|
1
|
+
%p
|
2
|
+
Official transcripts must be mailed directly from the institution
|
3
|
+
where the credential was granted to:
|
4
|
+
|
5
|
+
%p.text-center
|
6
|
+
TODO
|
7
|
+
%br
|
8
|
+
%br
|
9
|
+
%br
|
10
|
+
|
11
|
+
%p
|
12
|
+
= succeed('.') do
|
13
|
+
Institutions must send the electronic transcripts to
|
14
|
+
= mail_to 'todo@example.com'
|
@@ -0,0 +1,13 @@
|
|
1
|
+
= render 'layout' do
|
2
|
+
= render 'effective/applicants/content', resource: resource
|
3
|
+
|
4
|
+
= card do
|
5
|
+
.mb-2= render('transcripts_requirements', applicant: resource)
|
6
|
+
|
7
|
+
= effective_form_with(model: resource, url: wizard_path(step), method: :put) do |f|
|
8
|
+
= f.hidden_field :id
|
9
|
+
|
10
|
+
= f.check_box :declare_will_send_transcripts,
|
11
|
+
label: "Yes, I will request my transcripts be sent directly from the insitiution to the registrar.", required: true
|
12
|
+
|
13
|
+
= f.save 'Save and Continue'
|
@@ -209,6 +209,11 @@ class CreateEffectiveMemberships < ActiveRecord::Migration[6.0]
|
|
209
209
|
t.integer :applicant_experiences_months
|
210
210
|
t.text :applicant_experiences_details
|
211
211
|
|
212
|
+
# Transcripts
|
213
|
+
t.date :transcripts_received_on
|
214
|
+
t.string :transcripts_status
|
215
|
+
t.text :transcripts_details
|
216
|
+
|
212
217
|
# Additional Information
|
213
218
|
t.text :additional_information
|
214
219
|
|
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.4.
|
4
|
+
version: 0.4.13
|
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-07-
|
11
|
+
date: 2022-07-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -342,6 +342,7 @@ files:
|
|
342
342
|
- app/views/admin/applicants/_form_decline.html.haml
|
343
343
|
- app/views/admin/applicants/_form_missing_info.html.haml
|
344
344
|
- app/views/admin/applicants/_form_process.html.haml
|
345
|
+
- app/views/admin/applicants/_form_transcripts.html.haml
|
345
346
|
- app/views/admin/applicants/_status.html.haml
|
346
347
|
- app/views/admin/categories/_form.html.haml
|
347
348
|
- app/views/admin/categories/_form_applicant.html.haml
|
@@ -407,6 +408,8 @@ files:
|
|
407
408
|
- app/views/effective/applicants/_select_organization.html.haml
|
408
409
|
- app/views/effective/applicants/_stamp.html.haml
|
409
410
|
- app/views/effective/applicants/_summary.html.haml
|
411
|
+
- app/views/effective/applicants/_transcripts.html.haml
|
412
|
+
- app/views/effective/applicants/_transcripts_requirements.html.haml
|
410
413
|
- app/views/effective/applicants/billing.html.haml
|
411
414
|
- app/views/effective/applicants/checkout.html.haml
|
412
415
|
- app/views/effective/applicants/course_amounts.html.haml
|
@@ -424,6 +427,7 @@ files:
|
|
424
427
|
- app/views/effective/applicants/start.html.haml
|
425
428
|
- app/views/effective/applicants/submitted.html.haml
|
426
429
|
- app/views/effective/applicants/summary.html.haml
|
430
|
+
- app/views/effective/applicants/transcripts.html.haml
|
427
431
|
- app/views/effective/fee_payments/_content.html.haml
|
428
432
|
- app/views/effective/fee_payments/_dashboard.html.haml
|
429
433
|
- app/views/effective/fee_payments/_declarations.html.haml
|