Skip to content

Commit caf4bfe

Browse files
Add Ats notice on sign in (#8330)
## Trello card URL https://trello.com/c/rsknc856/2367-hiring-staff-notice-upon-sign-in-for-ats-religious-app-forms ## Changes in this PR: We want to highlight our new ATS features and faith forms to hiring staff so want to advertise this on a service screen. Question: Should this screen only appear when first signed in + a flag should be added as to whether the user has accepted the screen - or should it be displayed everytime? ## Screenshots of UI changes: ### Before ### After ## Checklists: ### Data & Schema Changes If this PR modifies data structures or validations, check the following: - [ ] Adds/removes model validations - [ ] Adds/removes database fields - [ ] Modifies Vacancy enumerables (phases, working patterns, job roles, key stages, etc.) <details> <summary>If any of the above options has changed then the author must check/resolve all of the following...</summary> ### Integration Impact Does this change affect any of these integrations? - [ ] DfE Analytics platform - [ ] Legacy imports mappings - [ ] DWP Find a Job export mappings - [ ] Publisher ATS API (may require mapping updates or API versioning) ### User Experience & Data Integrity Could this change impact: - [ ] Existing subscription alerts (will legacy subscription search filters break?) - [ ] Legacy vacancy copying (will copied vacancies fail new validations?) - [ ] In-progress drafts for Vacancies or Job Applications </details>
1 parent 0017fd5 commit caf4bfe

19 files changed

+314
-87
lines changed
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
class Publishers::AtsInterstitialsController < Publishers::BaseController
2+
skip_before_action :check_ats_interstitial_acknowledged, only: %i[show update]
3+
4+
def show
5+
@organisation = current_organisation
6+
@variant = @organisation.ats_interstitial_variant
7+
end
8+
9+
def update
10+
if current_publisher.update(acknowledged_ats_and_religious_form_interstitial: true)
11+
redirect_to organisation_jobs_with_type_path
12+
else
13+
@organisation = current_organisation
14+
@variant = @organisation.ats_interstitial_variant
15+
render :show
16+
end
17+
end
18+
end
Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,20 @@
11
module Publishers
2-
class BaseController < ApplicationController
3-
include ReturnPathTracking
2+
class Publishers::BaseController < ApplicationController
43
include LoginRequired
54

65
before_action :check_terms_and_conditions
7-
before_action :check_candidate_profiles_interstitial_acknowledged
6+
before_action :check_ats_interstitial_acknowledged
87

98
helper_method :current_user
109

1110
def check_terms_and_conditions
1211
redirect_to publishers_terms_and_conditions_path unless current_publisher.accepted_terms_at?
1312
end
1413

15-
def check_candidate_profiles_interstitial_acknowledged
16-
redirect_to publishers_candidate_profiles_interstitial_path unless current_publisher.nil? || current_publisher.acknowledged_candidate_profiles_interstitial?
14+
def check_ats_interstitial_acknowledged
15+
return if current_publisher.nil? || current_publisher.acknowledged_ats_and_religious_form_interstitial?
16+
17+
redirect_to publishers_ats_interstitial_path
1718
end
1819
end
1920
end

app/controllers/publishers/candidate_profiles_interstitials_controller.rb

Lines changed: 0 additions & 8 deletions
This file was deleted.

app/controllers/publishers/terms_and_conditions_controller.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
class Publishers::TermsAndConditionsController < Publishers::BaseController
22
skip_before_action :check_terms_and_conditions, only: %i[show update]
3-
skip_before_action :check_candidate_profiles_interstitial_acknowledged, only: %i[show update]
3+
skip_before_action :check_ats_interstitial_acknowledged, only: %i[show update]
44

55
def show
66
@terms_and_conditions_form = Publishers::TermsAndConditionsForm.new
@@ -10,7 +10,7 @@ def update
1010
@terms_and_conditions_form = Publishers::TermsAndConditionsForm.new(terms_params)
1111
if @terms_and_conditions_form.valid?
1212
current_publisher.update(accepted_terms_at: Time.current)
13-
redirect_to publishers_candidate_profiles_interstitial_path
13+
redirect_to publishers_ats_interstitial_path
1414
else
1515
render :show
1616
end

app/models/school.rb

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,10 @@ def faith_school?
6565
religious_character.present?
6666
end
6767

68+
def catholic_school?
69+
religious_character&.include?("Catholic") || false
70+
end
71+
6872
def school_type
6973
read_attribute(:school_type).singularize
7074
end
@@ -90,4 +94,14 @@ def all_organisations
9094
def all_organisation_ids
9195
[id]
9296
end
97+
98+
def ats_interstitial_variant
99+
if catholic_school?
100+
"catholic"
101+
elsif faith_school?
102+
"other_faith"
103+
else
104+
"non_faith"
105+
end
106+
end
93107
end

app/models/school_group.rb

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,4 +27,8 @@ def all_organisations
2727
def all_organisation_ids
2828
[id] + schools.pluck(:id) + schools_outside_local_authority.pluck(:id)
2929
end
30+
31+
def ats_interstitial_variant
32+
"non_faith"
33+
end
3034
end
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
- scope = "ats_interstitials.#{@variant}"
2+
- content_for :page_title_prefix, t("ats_interstitials.shared.page_title")
3+
4+
.govuk-grid-row
5+
.govuk-grid-column-two-thirds
6+
h1.govuk-heading-xl = t("ats_interstitials.shared.page_title")
7+
p.govuk-body = t("ats_interstitials.shared.intro")
8+
9+
h2.govuk-heading-m = t("ats_interstitials.shared.ats_list_header")
10+
ul.govuk-list.govuk-list--bullet
11+
- t("ats_interstitials.shared.ats_points").each do |item|
12+
li = item
13+
14+
- if I18n.exists?("#{scope}.faith_paragraph")
15+
p.govuk-body = t("#{scope}.faith_paragraph")
16+
17+
- if I18n.exists?("#{scope}.faith_intro")
18+
p.govuk-body = t("#{scope}.faith_intro")
19+
20+
- if I18n.exists?("#{scope}.faith_points")
21+
ul.govuk-list.govuk-list--bullet
22+
- t("#{scope}.faith_points").each do |item|
23+
li = item
24+
25+
p.govuk-body
26+
= govuk_link_to t("ats_interstitials.shared.guidance_link_text"),
27+
post_path(section: "get-help-hiring", subcategory: "how-to-create-job-listings-and-accept-applications", post_name: "accepting-job-applications-on-teaching-vacancies")
28+
29+
.govuk-button-group
30+
= govuk_button_to "Continue", publishers_ats_interstitial_path, method: :patch, id: "acknowledge-interstitial-button"

app/views/publishers/candidate_profiles_interstitials/show.html.slim

Lines changed: 0 additions & 18 deletions
This file was deleted.

config/analytics.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -293,7 +293,7 @@ shared:
293293
- id
294294
- oid
295295
- accepted_terms_at
296-
- acknowledged_candidate_profiles_interstitial
296+
- acknowledged_ats_and_religious_form_interstitial
297297
- email
298298
- email_opt_out
299299
- last_activity_at

config/locales/en.yml

Lines changed: 26 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -400,17 +400,32 @@ en:
400400
show_count: Applications (%{count})
401401
statistics: Statistics
402402

403-
candidate_profiles_interstitials:
404-
page_title: You can now view candidate profiles and invite them to apply to jobs
405-
intro: A candidate's profile includes their job preferences, experience and qualifications.
406-
list_header: "These candidates have specified:"
407-
page_description_items:
408-
- "that they're able to travel to your school"
409-
- "that they're interested in an education phase that matches your school"
410-
outro: You'll also be notified about any new candidate profiles that match your job listings.
411-
button_text: View candidate profiles
412-
skip_text: Skip to job listings
413-
403+
ats_interstitials:
404+
shared:
405+
page_title: "You can now use our Applicant Tracking System (ATS)"
406+
intro: "We have launched our Applicant Tracking System (ATS). This means that when you use our Keeping Children Safe in Education (KCSIE) compliant application form, you can manage applications from the beginning to the end of the hiring process."
407+
ats_list_header: "Using our ATS, you can:"
408+
ats_points:
409+
- "update multiple applications at once"
410+
- "communicate with jobseekers"
411+
- "keep track of interviews"
412+
- "record notes on progress for colleagues"
413+
guidance_link_text: "Read our How to accept job applications guidance to find out more."
414+
catholic:
415+
faith_paragraph: "You now also have the option to use our Catholic Education Service (CES) approved online application form."
416+
faith_intro: "The form asks applicants about their:"
417+
faith_points:
418+
- "religion"
419+
- "place of worship"
420+
- "baptism"
421+
- "religious referees"
422+
other_faith:
423+
faith_paragraph: "We offer a version of the form that asks applicants questions about religion. When you use this form, it gives applicants an opportunity to tell you:"
424+
faith_points:
425+
- "if they have a religious denomination or faith"
426+
- "how they will meet your school’s ethos and aims"
427+
- "their religious reference details"
428+
- "their place of worship"
414429
candidate_profiles_banner:
415430
intro: 'Candidate profiles are a new feature that allows schools to contact you about relevant jobs. With a profile you can:'
416431
summary_list:

0 commit comments

Comments
 (0)