effective_memberships 0.4.11 → 0.4.14

Sign up to get free protection for your applications and to get access to all the features.
Files changed (54) hide show
  1. checksums.yaml +4 -4
  2. data/app/models/concerns/effective_memberships_applicant.rb +43 -10
  3. data/app/views/admin/applicants/_form.html.haml +4 -0
  4. data/app/views/admin/applicants/_form_transcripts.html.haml +12 -0
  5. data/app/views/effective/applicant_endorsements/complete.html.haml +2 -3
  6. data/app/views/effective/applicant_endorsements/edit.html.haml +6 -7
  7. data/app/views/effective/applicant_references/complete.html.haml +2 -3
  8. data/app/views/effective/applicant_references/edit.html.haml +6 -7
  9. data/app/views/effective/applicants/_applicant.html.haml +2 -1
  10. data/app/views/effective/applicants/_course_amounts.html.haml +9 -17
  11. data/app/views/effective/applicants/_declarations.html.haml +9 -16
  12. data/app/views/effective/applicants/_demographics.html.haml +2 -9
  13. data/app/views/effective/applicants/_education.html.haml +6 -13
  14. data/app/views/effective/applicants/_endorsements.html.haml +6 -13
  15. data/app/views/effective/applicants/_equivalences.html.haml +3 -10
  16. data/app/views/effective/applicants/_experience.html.haml +18 -25
  17. data/app/views/effective/applicants/_files.html.haml +16 -23
  18. data/app/views/effective/applicants/_organization.html.haml +2 -9
  19. data/app/views/effective/applicants/_references.html.haml +6 -13
  20. data/app/views/effective/applicants/_stamp.html.haml +23 -30
  21. data/app/views/effective/applicants/_summary.html.haml +5 -0
  22. data/app/views/effective/applicants/_transcripts.html.haml +30 -0
  23. data/app/views/effective/applicants/_transcripts_requirements.html.haml +14 -0
  24. data/app/views/effective/applicants/billing.html.haml +6 -7
  25. data/app/views/effective/applicants/checkout.html.haml +2 -3
  26. data/app/views/effective/applicants/course_amounts.html.haml +48 -49
  27. data/app/views/effective/applicants/declarations.html.haml +9 -10
  28. data/app/views/effective/applicants/demographics.html.haml +6 -7
  29. data/app/views/effective/applicants/education.html.haml +16 -17
  30. data/app/views/effective/applicants/endorsements.html.haml +20 -21
  31. data/app/views/effective/applicants/equivalences.html.haml +14 -15
  32. data/app/views/effective/applicants/experience.html.haml +35 -36
  33. data/app/views/effective/applicants/files.html.haml +8 -9
  34. data/app/views/effective/applicants/organization.html.haml +10 -11
  35. data/app/views/effective/applicants/references.html.haml +16 -17
  36. data/app/views/effective/applicants/select.html.haml +25 -26
  37. data/app/views/effective/applicants/stamp.html.haml +16 -17
  38. data/app/views/effective/applicants/start.html.haml +4 -5
  39. data/app/views/effective/applicants/submitted.html.haml +9 -10
  40. data/app/views/effective/applicants/transcripts.html.haml +13 -0
  41. data/app/views/effective/fee_payments/_declarations.html.haml +9 -16
  42. data/app/views/effective/fee_payments/_demographics.html.haml +2 -9
  43. data/app/views/effective/fee_payments/_fee_payment.html.haml +2 -1
  44. data/app/views/effective/fee_payments/_organization.html.haml +2 -9
  45. data/app/views/effective/fee_payments/billing.html.haml +6 -7
  46. data/app/views/effective/fee_payments/checkout.html.haml +2 -3
  47. data/app/views/effective/fee_payments/declarations.html.haml +8 -9
  48. data/app/views/effective/fee_payments/demographics.html.haml +6 -7
  49. data/app/views/effective/fee_payments/organization.html.haml +10 -11
  50. data/app/views/effective/fee_payments/start.html.haml +23 -24
  51. data/app/views/effective/fee_payments/submitted.html.haml +2 -2
  52. data/db/migrate/01_create_effective_memberships.rb.erb +5 -0
  53. data/lib/effective_memberships/version.rb +1 -1
  54. metadata +6 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a08504cb78fd8324ad3a72904249556ba0761b490a4574e1be3a4f6ac22ef51f
4
- data.tar.gz: 409b51e03245bd8e331aeaf2acd038c111eb060e2852ffdfdbd282e4a20d7e9a
3
+ metadata.gz: 64b883aca41c43059e7a71714e06111778fdf28459cd1e1b93fd5623c0b1ac76
4
+ data.tar.gz: 988d8610c97a8975525f79b8f6b8f2ae4c8b5aa0408e363ef2122a5e75fcd8f2
5
5
  SHA512:
6
- metadata.gz: ca160549bff37e5194ca4eaea87f1479426b9f019631497892d564ec4e4be828dc41513085418c89a5b08aa3fa5b2190ee7eb30a3b84acec7f6b5f03a15ff82e
7
- data.tar.gz: 184c786911efb0309e0d988e288f3d61f7ce9cb440e850e45a2c6fb13903e9a2f5eb79ef6b414a4b9f1365c3af9dfdd5536e050f780d1f50f60b19fd47008586
6
+ metadata.gz: '084430f1b74612a991224992ac678b0045c01024c077159a87853a60c86c955f2d00c0a68c65bd019a7fb8a317ab6f9eb6e969425436aa72470cc42f979fc882'
7
+ data.tar.gz: 29ab840f13d34e4936ba3b1267e4fe9dbc7fdfdd7ca39d275ed4d87c8cc06425bd44606d45a4380a47324a877005c4671eb7c133fd9796cf631b8cfabd891aad
@@ -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?(:endorsements) || applicant_endorsements_required?
595
- requirements['Applicant Endorsements'] = (!applicant_endorsements_required? || applicant_endorsements.count(&:completed?) >= min_applicant_endorsements)
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
@@ -1,3 +1,2 @@
1
- .card
2
- .card-body
3
- %p Thank you! The confidential endorsement has been completed.
1
+ = card do
2
+ %p Thank you! The confidential endorsement has been completed.
@@ -1,8 +1,7 @@
1
- .card
2
- .card-body
3
- %p
4
- Please provide a endorsement for the applicant
5
- = succeed('.') do
6
- %strong= @applicant_endorsement.applicant.owner
1
+ = card do
2
+ %p
3
+ Please provide a endorsement for the applicant
4
+ = succeed('.') do
5
+ %strong= @applicant_endorsement.applicant.owner
7
6
 
8
- = render('form_declaration', applicant_endorsement: @applicant_endorsement)
7
+ = render('form_declaration', applicant_endorsement: @applicant_endorsement)
@@ -1,3 +1,2 @@
1
- .card
2
- .card-body
3
- %p Thank you! The confidential reference has been completed.
1
+ = card do
2
+ %p Thank you! The confidential reference has been completed.
@@ -1,8 +1,7 @@
1
- .card
2
- .card-body
3
- %p
4
- Please provide a reference for the applicant
5
- = succeed('.') do
6
- %strong= @applicant_reference.applicant.owner
1
+ = card do
2
+ %p
3
+ Please provide a reference for the applicant
4
+ = succeed('.') do
5
+ %strong= @applicant_reference.applicant.owner
7
6
 
8
- = render('form_declaration', applicant_reference: @applicant_reference)
7
+ = render('form_declaration', applicant_reference: @applicant_reference)
@@ -1,3 +1,4 @@
1
1
  .effective-applicant
2
2
  - applicant.render_steps.each do |partial|
3
- = render "effective/applicants/#{partial}", applicant: applicant, step: partial
3
+ - applicant.render_step = partial
4
+ = render "effective/applicants/#{partial}", applicant: applicant
@@ -1,19 +1,11 @@
1
- .card
2
- .card-body
3
- .row
4
- .col-sm
5
- %h5.card-title= applicant.wizard_step_title(:course_amounts)
6
- .col-sm-auto.text-right
7
- = link_to('Edit', wizard_path(:course_amounts)) if edit_effective_wizard?
1
+ = wizard_card(applicant) do
2
+ - applicant.applicant_course_areas_collection.each do |area|
3
+ - datatable = EffectiveApplicantCoursesDatatable.new(applicant: applicant, applicant_course_area_id: area.id)
8
4
 
5
+ .mb-4
6
+ %h6= area
7
+ = render_simple_datatable(datatable)
8
+ %p #{area} courses: #{applicant.applicant_course_area_sum(applicant_course_area: area)}
9
9
 
10
- - applicant.applicant_course_areas_collection.each do |area|
11
- - datatable = EffectiveApplicantCoursesDatatable.new(applicant: applicant, applicant_course_area_id: area.id)
12
-
13
- .mb-4
14
- %h6= area
15
- = render_simple_datatable(datatable)
16
- %p #{area} courses: #{applicant.applicant_course_area_sum(applicant_course_area: area)}
17
-
18
- %p
19
- %strong All courses: #{pluralize(applicant.applicant_courses_sum, 'total course')}
10
+ %p
11
+ %strong All courses: #{pluralize(applicant.applicant_courses_sum, 'total course')}
@@ -1,16 +1,9 @@
1
- .card
2
- .card-body
3
- .row
4
- .col-sm
5
- %h5.card-title= applicant.wizard_step_title(:declarations)
6
- .col-sm-auto.text-right
7
- = link_to('Edit', wizard_path(:declarations)) if edit_effective_wizard?
8
-
9
- %table.table.table-sm
10
- %tbody
11
- %tr
12
- %td= icon('check')
13
- %td Yes, I hereby certify that I have read and will adhere to the Code of Ethics
14
- %tr
15
- %td= icon('check')
16
- %td Yes, I hereby certify that the statements and information contained herein are correct
1
+ = wizard_card(applicant) do
2
+ %table.table.table-sm
3
+ %tbody
4
+ %tr
5
+ %td= icon('check')
6
+ %td Yes, I hereby certify that I have read and will adhere to the Code of Ethics
7
+ %tr
8
+ %td= icon('check')
9
+ %td Yes, I hereby certify that the statements and information contained herein are correct
@@ -1,9 +1,2 @@
1
- .card
2
- .card-body
3
- .row
4
- .col-sm
5
- %h5.card-title= applicant.wizard_step_title(:demographics)
6
- .col-sm-auto.text-right
7
- = link_to('Edit', wizard_path(:demographics)) if edit_effective_wizard?
8
-
9
- = render 'users/demographics', parent: applicant, user: applicant.user
1
+ = wizard_card(applicant) do
2
+ = render 'users/demographics', parent: applicant, user: applicant.user
@@ -1,14 +1,7 @@
1
- .card
2
- .card-body
3
- .row
4
- .col-sm
5
- %h5.card-title= applicant.wizard_step_title(:education)
6
- .col-sm-auto.text-right
7
- = link_to('Edit', wizard_path(:education)) if edit_effective_wizard?
1
+ = wizard_card(applicant) do
2
+ - datatable = EffectiveApplicantEducationsDatatable.new(applicant: applicant)
3
+ .mb-4= render_simple_datatable(datatable)
8
4
 
9
- - datatable = EffectiveApplicantEducationsDatatable.new(applicant: applicant)
10
- .mb-4= render_simple_datatable(datatable)
11
-
12
- - if applicant.applicant_educations_details.present?
13
- %h6 Additional Education Details
14
- = simple_format(applicant.applicant_educations_details)
5
+ - if applicant.applicant_educations_details.present?
6
+ %h6 Additional Education Details
7
+ = simple_format(applicant.applicant_educations_details)
@@ -1,15 +1,8 @@
1
- .card
2
- .card-body
3
- .row
4
- .col-sm
5
- %h5.card-title= applicant.wizard_step_title(:endorsements)
6
- .col-sm-auto.text-right
7
- = link_to('Edit', wizard_path(:endorsements)) if edit_effective_wizard?
1
+ = wizard_card(applicant) do
2
+ - applicant.applicant_endorsements.each_with_index do |applicant_endorsement, index|
3
+ - if index > 0
4
+ .mb-4
8
5
 
9
- - applicant.applicant_endorsements.each_with_index do |applicant_endorsement, index|
10
- - if index > 0
11
- .mb-4
6
+ %h6 Endorsement ##{index + 1}
12
7
 
13
- %h6 Endorsement ##{index + 1}
14
-
15
- = render('effective/applicant_endorsements/applicant_endorsement', applicant_endorsement: applicant_endorsement)
8
+ = render('effective/applicant_endorsements/applicant_endorsement', applicant_endorsement: applicant_endorsement)
@@ -1,10 +1,3 @@
1
- .card
2
- .card-body
3
- .row
4
- .col-sm
5
- %h5.card-title= applicant.wizard_step_title(:equivalences)
6
- .col-sm-auto.text-right
7
- = link_to('Edit', wizard_path(:equivalences)) if edit_effective_wizard?
8
-
9
- - datatable = EffectiveApplicantEquivalencesDatatable.new(applicant: applicant)
10
- .mb-4= render_simple_datatable(datatable)
1
+ = wizard_card(applicant) do
2
+ - datatable = EffectiveApplicantEquivalencesDatatable.new(applicant: applicant)
3
+ .mb-4= render_simple_datatable(datatable)
@@ -1,28 +1,21 @@
1
- .card
2
- .card-body
3
- .row
4
- .col-sm
5
- %h5.card-title= applicant.wizard_step_title(:experience)
6
- .col-sm-auto.text-right
7
- = link_to('Edit', wizard_path(:experience)) if edit_effective_wizard?
1
+ = wizard_card(applicant) do
2
+ %table.table
3
+ %tbody
4
+ -# %tr
5
+ -# %th CV / Resume Upload
6
+ -# %td
7
+ -# - if applicant.cv.attached?
8
+ -# = link_to(applicant.cv.filename, url_for(applicant.cv), target: '_blank')
9
+ -# - else
10
+ -# None
8
11
 
9
- %table.table
10
- %tbody
11
- -# %tr
12
- -# %th CV / Resume Upload
13
- -# %td
14
- -# - if applicant.cv.attached?
15
- -# = link_to(applicant.cv.filename, url_for(applicant.cv), target: '_blank')
16
- -# - else
17
- -# None
12
+ %tr
13
+ %th Total Months
14
+ %td= applicant.applicant_experiences_months
18
15
 
19
- %tr
20
- %th Total Months
21
- %td= applicant.applicant_experiences_months
16
+ - datatable = EffectiveApplicantExperiencesDatatable.new(applicant: applicant)
17
+ .mb-4= render_simple_datatable(datatable)
22
18
 
23
- - datatable = EffectiveApplicantExperiencesDatatable.new(applicant: applicant)
24
- .mb-4= render_simple_datatable(datatable)
25
-
26
- - if applicant.applicant_experiences_details.present?
27
- %h6 Additional Experiences Details
28
- = simple_format(applicant.applicant_experiences_details)
19
+ - if applicant.applicant_experiences_details.present?
20
+ %h6 Additional Experiences Details
21
+ = simple_format(applicant.applicant_experiences_details)
@@ -1,27 +1,20 @@
1
- .card
2
- .card-body
3
- .row
4
- .col-sm
5
- %h5.card-title= applicant.wizard_step_title(:files)
6
- .col-sm-auto.text-right
7
- = link_to('Edit', wizard_path(:files)) if edit_effective_wizard?
1
+ = wizard_card(applicant) do
2
+ %table.table.table-sm
3
+ %tbody
4
+ - applicant.applicant_files.each do |file|
8
5
 
9
- %table.table.table-sm
10
- %tbody
11
- - applicant.applicant_files.each do |file|
6
+ - url = url_for(file)
7
+ - title = file.filename.to_s
12
8
 
13
- - url = url_for(file)
14
- - title = file.filename.to_s
9
+ - image_tag = content_tag(:img, '', class: '', src: url, alt: title) if file.image?
10
+ - link_tag = link_to('Download', url, target: '_blank')
11
+ - size_tag = (file.content_type + '<br>' + number_to_human_size(file.byte_size)).html_safe
15
12
 
16
- - image_tag = content_tag(:img, '', class: '', src: url, alt: title) if file.image?
17
- - link_tag = link_to('Download', url, target: '_blank')
18
- - size_tag = (file.content_type + '<br>' + number_to_human_size(file.byte_size)).html_safe
13
+ %tr
14
+ %td= image_tag
15
+ %td= title
16
+ %td= size_tag
17
+ %td= link_tag
19
18
 
20
- %tr
21
- %td= image_tag
22
- %td= title
23
- %td= size_tag
24
- %td= link_tag
25
-
26
- - if applicant.applicant_files.blank?
27
- %p No files attached
19
+ - if applicant.applicant_files.blank?
20
+ %p No files attached
@@ -1,9 +1,2 @@
1
- .card
2
- .card-body
3
- .row
4
- .col-sm
5
- %h5.card-title= applicant.wizard_step_title(:organization)
6
- .col-sm-auto.text-right
7
- = link_to('Edit', wizard_path(:organization)) if edit_effective_wizard?
8
-
9
- = render 'organizations/demographics', parent: applicant, organization: applicant.organization
1
+ = wizard_card(applicant) do
2
+ = render 'organizations/demographics', parent: applicant, organization: applicant.organization
@@ -1,15 +1,8 @@
1
- .card
2
- .card-body
3
- .row
4
- .col-sm
5
- %h5.card-title= applicant.wizard_step_title(:references)
6
- .col-sm-auto.text-right
7
- = link_to('Edit', wizard_path(:references)) if edit_effective_wizard?
1
+ = wizard_card(applicant) do
2
+ - applicant.applicant_references.each_with_index do |applicant_reference, index|
3
+ - if index > 0
4
+ .mb-4
8
5
 
9
- - applicant.applicant_references.each_with_index do |applicant_reference, index|
10
- - if index > 0
11
- .mb-4
6
+ %h6 Reference ##{index + 1}
12
7
 
13
- %h6 Reference ##{index + 1}
14
-
15
- = render('effective/applicant_references/applicant_reference', applicant_reference: applicant_reference)
8
+ = render('effective/applicant_references/applicant_reference', applicant_reference: applicant_reference)
@@ -1,36 +1,29 @@
1
- .card
2
- .card-body
3
- .row
4
- .col-sm
5
- %h5.card-title= applicant.wizard_step_title(:stamp)
6
- .col-sm-auto.text-right
7
- = link_to('Edit', wizard_path(:stamp)) if edit_effective_wizard?
1
+ = wizard_card(applicant) do
2
+ - applicant.stamps.each do |stamp|
3
+ %table.table.table-sm
4
+ %tbody
5
+ %tr
6
+ %th Name
7
+ %td= stamp.name
8
8
 
9
- - applicant.stamps.each do |stamp|
10
- %table.table.table-sm
11
- %tbody
12
- %tr
13
- %th Name
14
- %td= stamp.name
9
+ %tr
10
+ %th Name Confirmation
11
+ %td= stamp.name_confirmation
15
12
 
16
- %tr
17
- %th Name Confirmation
18
- %td= stamp.name_confirmation
13
+ %tr
14
+ %th Category
15
+ %td= stamp.category
19
16
 
17
+ - if stamp.shipping_address.present?
20
18
  %tr
21
- %th Category
22
- %td= stamp.category
23
-
24
- - if stamp.shipping_address.present?
25
- %tr
26
- %th Shipping Address
27
- %td= stamp.shipping_address.to_html
19
+ %th Shipping Address
20
+ %td= stamp.shipping_address.to_html
28
21
 
29
- - if applicant.was_approved?
30
- %tr
31
- %th Submitted
32
- %td= stamp.submitted_at&.strftime('%F') || '-'
22
+ - if applicant.was_approved?
23
+ %tr
24
+ %th Submitted
25
+ %td= stamp.submitted_at&.strftime('%F') || '-'
33
26
 
34
- %tr
35
- %th Issued
36
- %td= stamp.issued_at&.strftime('%F') || 'Not Issued'
27
+ %tr
28
+ %th Issued
29
+ %td= stamp.issued_at&.strftime('%F') || 'Not Issued'
@@ -31,6 +31,11 @@
31
31
  %th Category
32
32
  %td= [applicant.applicant_type, applicant.category].join(' - ')
33
33
 
34
+ - if applicant.try(:stream).present?
35
+ %tr
36
+ %th Stream
37
+ %td= applicant.stream
38
+
34
39
  - if applicant.orders.present?
35
40
  %tr
36
41
  %th Order#{'s' if applicant.orders.length > 1}
@@ -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'
@@ -3,12 +3,11 @@
3
3
 
4
4
  - raise('expected owner to respond to billing_address') unless resource.owner.respond_to?(:billing_address)
5
5
 
6
- .card
7
- .card-body
8
- = effective_form_with(model: resource, url: wizard_path(step), method: :put) do |f|
9
- = f.hidden_field :id
6
+ = card do
7
+ = effective_form_with(model: resource, url: wizard_path(step), method: :put) do |f|
8
+ = f.hidden_field :id
10
9
 
11
- = f.fields_for(f.object.owner_symbol, f.object.owner) do |fo|
12
- = effective_address_fields(fo, :billing)
10
+ = f.fields_for(f.object.owner_symbol, f.object.owner) do |fo|
11
+ = effective_address_fields(fo, :billing)
13
12
 
14
- = f.save 'Save and Continue'
13
+ = f.save 'Save and Continue'
@@ -1,6 +1,5 @@
1
1
  = render 'layout' do
2
2
  = render 'effective/applicants/content', resource: resource
3
3
 
4
- .card
5
- .card-body
6
- = render_checkout_step2(resource.submit_order, purchased_url: wizard_path(:submitted), deferred_url: wizard_path(:checkout), declined_url: wizard_path(:checkout))
4
+ = card do
5
+ = render_checkout_step2(resource.submit_order, purchased_url: wizard_path(:submitted), deferred_url: wizard_path(:checkout), declined_url: wizard_path(:checkout))