diff --git a/app/forms/journeys/get_a_teacher_relocation_payment/claim_submission_form.rb b/app/forms/journeys/get_a_teacher_relocation_payment/claim_submission_form.rb new file mode 100644 index 0000000000..9e3b86743b --- /dev/null +++ b/app/forms/journeys/get_a_teacher_relocation_payment/claim_submission_form.rb @@ -0,0 +1,21 @@ +module Journeys + module GetATeacherRelocationPayment + class ClaimSubmissionForm < ::ClaimSubmissionBaseForm + private + + def main_eligibility + @main_eligibility ||= eligibilities.first + end + + def calculate_award_amount(eligibility) + # NOOP + # This is just for compatibility with the AdditionalPaymentsForTeaching + # claim submission form. + end + + def generate_policy_options_provided + [] + end + end + end +end diff --git a/app/models/journeys.rb b/app/models/journeys.rb index 7808a8e6b4..a116777a10 100644 --- a/app/models/journeys.rb +++ b/app/models/journeys.rb @@ -7,7 +7,8 @@ def self.table_name_prefix JOURNEYS = [ AdditionalPaymentsForTeaching, - TeacherStudentLoanReimbursement + TeacherStudentLoanReimbursement, + GetATeacherRelocationPayment ].freeze def all diff --git a/app/models/journeys/get_a_teacher_relocation_payment.rb b/app/models/journeys/get_a_teacher_relocation_payment.rb new file mode 100644 index 0000000000..021f29626c --- /dev/null +++ b/app/models/journeys/get_a_teacher_relocation_payment.rb @@ -0,0 +1,14 @@ +module Journeys + module GetATeacherRelocationPayment + extend Base + extend self + + ROUTING_NAME = "get-a-teacher-relocation-payment" + VIEW_PATH = "get_a_teacher_relocation_payment" + I18N_NAMESPACE = "get_a_teacher_relocation_payment" + POLICIES = [Policies::InternationalRelocationPayments] + FORMS = { + "claims" => {} + } + end +end diff --git a/app/models/journeys/get_a_teacher_relocation_payment/eligibility_checker.rb b/app/models/journeys/get_a_teacher_relocation_payment/eligibility_checker.rb new file mode 100644 index 0000000000..47d6565884 --- /dev/null +++ b/app/models/journeys/get_a_teacher_relocation_payment/eligibility_checker.rb @@ -0,0 +1,6 @@ +module Journeys + module GetATeacherRelocationPayment + class EligibilityChecker < Journeys::EligibilityChecker + end + end +end diff --git a/app/models/journeys/get_a_teacher_relocation_payment/session.rb b/app/models/journeys/get_a_teacher_relocation_payment/session.rb new file mode 100644 index 0000000000..f1b2fdd347 --- /dev/null +++ b/app/models/journeys/get_a_teacher_relocation_payment/session.rb @@ -0,0 +1,7 @@ +module Journeys + module GetATeacherRelocationPayment + class Session < Journeys::Session + attribute :answers, SessionAnswersType.new + end + end +end diff --git a/app/models/journeys/get_a_teacher_relocation_payment/session_answers.rb b/app/models/journeys/get_a_teacher_relocation_payment/session_answers.rb new file mode 100644 index 0000000000..e82773ddc7 --- /dev/null +++ b/app/models/journeys/get_a_teacher_relocation_payment/session_answers.rb @@ -0,0 +1,6 @@ +module Journeys + module GetATeacherRelocationPayment + class SessionAnswers < Journeys::SessionAnswers + end + end +end diff --git a/app/models/journeys/get_a_teacher_relocation_payment/session_answers_type.rb b/app/models/journeys/get_a_teacher_relocation_payment/session_answers_type.rb new file mode 100644 index 0000000000..86c3ed932e --- /dev/null +++ b/app/models/journeys/get_a_teacher_relocation_payment/session_answers_type.rb @@ -0,0 +1,5 @@ +module Journeys + module GetATeacherRelocationPayment + class SessionAnswersType < ::Journeys::SessionAnswersType; end + end +end diff --git a/app/models/journeys/get_a_teacher_relocation_payment/slug_sequence.rb b/app/models/journeys/get_a_teacher_relocation_payment/slug_sequence.rb new file mode 100644 index 0000000000..e462f57a51 --- /dev/null +++ b/app/models/journeys/get_a_teacher_relocation_payment/slug_sequence.rb @@ -0,0 +1,35 @@ +module Journeys + module GetATeacherRelocationPayment + class SlugSequence + # FIXME RL due to how the page sequence works we need a minimum of 2 + # slugs otherwise there's no next slug to go to. Once we have added + # another page remove the duplicate "check-your-answers" slug. + RESULTS_SLUGS = [ + "check-your-answers", + "check-your-answers" + ].freeze + + SLUGS = RESULTS_SLUGS + + def self.start_page_url + if Rails.env.production? + "https://www.gov.uk/government/publications/international-relocation-payments/international-relocation-payments" + else + Rails.application.routes.url_helpers.landing_page_path("get-a-teacher-relocation-payment") + end + end + + attr_reader :journey_session + + delegate :answers, to: :journey_session + + def initialize(journey_session) + @journey_session = journey_session + end + + def slugs + SLUGS + end + end + end +end diff --git a/app/models/policies/international_relocation_payments.rb b/app/models/policies/international_relocation_payments.rb new file mode 100644 index 0000000000..d2f50f836a --- /dev/null +++ b/app/models/policies/international_relocation_payments.rb @@ -0,0 +1,4 @@ +module Policies + module InternationalRelocationPayments + end +end diff --git a/app/models/policies/international_relocation_payments/eligibility.rb b/app/models/policies/international_relocation_payments/eligibility.rb new file mode 100644 index 0000000000..d54e026fa8 --- /dev/null +++ b/app/models/policies/international_relocation_payments/eligibility.rb @@ -0,0 +1,13 @@ +module Policies + module InternationalRelocationPayments + class Eligibility < ApplicationRecord + self.table_name = "international_relocation_payments_eligibilities" + + has_one :claim, as: :eligibility, inverse_of: :eligibility + + def ineligible? + false + end + end + end +end diff --git a/app/models/policies/international_relocation_payments/policy_eligibility_checker.rb b/app/models/policies/international_relocation_payments/policy_eligibility_checker.rb new file mode 100644 index 0000000000..63c33ff7b1 --- /dev/null +++ b/app/models/policies/international_relocation_payments/policy_eligibility_checker.rb @@ -0,0 +1,21 @@ +module Policies + module InternationalRelocationPayments + class PolicyEligibilityChecker + attr_reader :answers + + delegate_missing_to :answers + + def initialize(answers:) + @answers = answers + end + + def status + :eligible_now + end + + def ineligible? + false + end + end + end +end diff --git a/app/views/get_a_teacher_relocation_payment/claims/check_your_answers.html.erb b/app/views/get_a_teacher_relocation_payment/claims/check_your_answers.html.erb new file mode 100644 index 0000000000..aeb6d5e340 --- /dev/null +++ b/app/views/get_a_teacher_relocation_payment/claims/check_your_answers.html.erb @@ -0,0 +1,27 @@ +<% content_for( + :page_title, + page_title( + "Check your answers before sending your application", + journey: current_journey_routing_name, + ) +) %> + +
<%= t("check_your_answers.statement") %>
+ ++ The international relocation payment (IRP) is a single payment of £10,000, + funded by the UK government, which is available to eligible non-UK trainees and teachers of: +
+ ++ Only teachers and salaried trainees need to complete this form. +
+ ++ Before starting your application, visit + <%= govuk_link_to( + "Get an international relocation payment", + "https://getintoteaching.education.gov.uk/non-uk-teachers/get-an-international-relocation-payment", + target: "_blank" + ) %> + to check the criteria you must meet to receive the IRP. You need to have started your job or course before you can apply. +
+ ++ You should also get your documents and information ready, as you will + not be able to save your entries and return to the form later. It should + take approximately 15 minutes to complete. +
+ + ++ You will need: +
+ ++ Applications for the international relocation payment (IRP) are open from: +
+ ++ If you have started your teaching job or salaried teacher training + course, you should apply now. If you are eligible, you should receive + the money by 30 September 2024. +
+ ++ To remain eligible for the IRP, you must apply in either the first or + second term of your employment as a teacher or salaried trainee. +
++ Applications will re-open later in 2024. +
+ ++ If you have not started your job or course, please visit + <%= govuk_link_to( + "Get an international relocation payment", + "https://getintoteaching.education.gov.uk/non-uk-teachers/get-an-international-relocation-payment", + target: "_blank" + ) %> + for information about future applications. +
+ ++ For help, please email us at + <%= govuk_link_to("teach.inengland@education.gov.uk", "mailto:teach.inengland@education.gov.uk")%>. +
++ We have sent you a confirmation email to <%= submitted_claim.email_address %>. +
+ ++ <%= link_to "What do you think of this service?", done_page_url, class: "govuk-link" %> + (takes 30 seconds) +
+