diff --git a/apps/src/sites/studio/pages/devise/registrations/finish_sign_up.js b/apps/src/sites/studio/pages/devise/registrations/finish_sign_up.js index 57e2a6de4dc0e..3d1ea58076c76 100644 --- a/apps/src/sites/studio/pages/devise/registrations/finish_sign_up.js +++ b/apps/src/sites/studio/pages/devise/registrations/finish_sign_up.js @@ -7,7 +7,7 @@ import getScriptData from '@cdo/apps/util/getScriptData'; const TEACHER_ONLY_FIELDS = ["#teacher-name-label", "#school-info-inputs", "#email-preference-dropdown", "#printable-terms-of-service"]; const STUDENT_ONLY_FIELDS = ["#student-name-label", "#age-dropdown", "#student-consent"]; -const SHARED_FIELDS = ["#name-field", "#gender-dropdown", "#terms-of-service", "#submit"]; +const SHARED_FIELDS = ["#name-field", "#gender-dropdown", "#terms-of-service", "#data_transfer_agreement_accepted", "#submit"]; const ALL_FIELDS = [...TEACHER_ONLY_FIELDS, ...STUDENT_ONLY_FIELDS, ...SHARED_FIELDS]; // Values loaded from scriptData are always initial values, not the latest diff --git a/dashboard/app/assets/stylesheets/application.scss b/dashboard/app/assets/stylesheets/application.scss index 513a5322bdef8..a8c746ce64be7 100644 --- a/dashboard/app/assets/stylesheets/application.scss +++ b/dashboard/app/assets/stylesheets/application.scss @@ -1659,7 +1659,7 @@ a.download-video { border: 1px solid $school-info-border-color; } } - #terms-of-service { + .checkbox { display: flex; padding-top: 20px; padding-bottom: 20px; diff --git a/dashboard/app/views/devise/registrations/finish_sign_up.html.haml b/dashboard/app/views/devise/registrations/finish_sign_up.html.haml index 1b9c1dfc7a23e..731e48c50a705 100644 --- a/dashboard/app/views/devise/registrations/finish_sign_up.html.haml +++ b/dashboard/app/views/devise/registrations/finish_sign_up.html.haml @@ -58,7 +58,7 @@ %h1.custom-h1= t('terms_interstitial.privacy_notice') = render partial: 'home/privacy_notice' - #terms-of-service{style: "display: none;"} + #terms-of-service.checkbox{style: "display: none;"} = f.check_box :terms_of_service_version, {}, User::TERMS_OF_SERVICE_VERSIONS.last = f.label :terms_of_service_version do = t('terms_interstitial.accept_label', tos_url: CDO.code_org_url('/tos'), privacy_url: CDO.code_org_url('/privacy')).html_safe @@ -71,6 +71,14 @@ = link_to t('signup_form.email_preference_privacy'), CDO.code_org_url('/privacy'), target: '_blank' = f.select :email_preference_opt_in, email_preference_options, include_blank: true + -# If GDPR applies, show an additional checkbox. + - if request.gdpr? || request.params['force_in_eu'] + #data_transfer_agreement_accepted.checkbox + = f.check_box :data_transfer_agreement_accepted + = f.label :data_transfer_agreement_accepted do + = t('signup_form.agree_us_website') + = t('signup_form.my_data_to_us') + %button#submit{style: "display: none;"} = t('signup_form.submit')