diff --git a/app/models/terms_of_service/generator.rb b/app/models/terms_of_service/generator.rb index 6fcfb01154..d1c8d413ef 100644 --- a/app/models/terms_of_service/generator.rb +++ b/app/models/terms_of_service/generator.rb @@ -9,11 +9,12 @@ class TermsOfService::Generator admin_email arbitration_address arbitration_website + choice_of_law dmca_address dmca_email domain jurisdiction - choice_of_law + min_age ).freeze attr_accessor(*VARIABLES) diff --git a/app/views/admin/terms_of_service/generates/show.html.haml b/app/views/admin/terms_of_service/generates/show.html.haml index 0a67aba295..9fd06a65da 100644 --- a/app/views/admin/terms_of_service/generates/show.html.haml +++ b/app/views/admin/terms_of_service/generates/show.html.haml @@ -19,6 +19,9 @@ .fields-group = form.input :domain, wrapper: :with_label + .fields-group + = form.input :min_age, wrapper: :with_label + .fields-group = form.input :jurisdiction, wrapper: :with_label diff --git a/config/locales/simple_form.en.yml b/config/locales/simple_form.en.yml index 2499c5b26b..682a8179b2 100644 --- a/config/locales/simple_form.en.yml +++ b/config/locales/simple_form.en.yml @@ -136,13 +136,14 @@ en: text: Can be structured with Markdown syntax. terms_of_service_generator: admin_email: Legal notices include counternotices, court orders, takedown requests, and law enforcement requests. - arbitration_address: Can be the same as Physical address above, or “N/A” if using email - arbitration_website: Can be a web form, or “N/A” if using email + arbitration_address: Can be the same as Physical address above, or “N/A” if using email. + arbitration_website: Can be a web form, or “N/A” if using email. choice_of_law: City, region, territory or state the internal substantive laws of which shall govern any and all claims. dmca_address: For US operators, use the address registered in the DMCA Designated Agent Directory. A P.O. Box listing is available upon direct request, use the DMCA Designated Agent Post Office Box Waiver Request to email the Copyright Office and describe that you are a home-based content moderator who fears revenge or retribution for your actions and need to use a P.O. Box to remove your home address from public view. - dmca_email: Can be the same email used for “Email address for legal notices” above + dmca_email: Can be the same email used for “Email address for legal notices” above. domain: Unique identification of the online service you are providing. jurisdiction: List the country where whoever pays the bills lives. If it’s a company or other entity, list the country where it’s incorporated, and the city, region, territory or state as appropriate. + min_age: Should not be below the minimum age required by the laws of your jurisdiction. user: chosen_languages: When checked, only posts in selected languages will be displayed in public timelines role: The role controls which permissions the user has. @@ -346,6 +347,7 @@ en: dmca_email: Email address for DMCA/copyright notices domain: Domain jurisdiction: Legal jurisdiction + min_age: Minimum age user: role: Role time_zone: Time zone diff --git a/config/templates/terms-of-service.md b/config/templates/terms-of-service.md index 0a96b1a606..b2e32f76b9 100644 --- a/config/templates/terms-of-service.md +++ b/config/templates/terms-of-service.md @@ -17,7 +17,7 @@ into these Terms. You should also read these policies before using the Instance. ## Age Requirements and Responsibility of Parents and Legal Guardians -By accessing the Instance, you signify that you are at least thirteen years old +By accessing the Instance, you signify that you are at least %{min_age} years old and that you meet the minimum age required by the laws in your country. If you are old enough to access the Instance in your country, but are not old enough to have the legal authority to consent to our Terms, please ask your parent or diff --git a/spec/system/admin/terms_of_service/generates_spec.rb b/spec/system/admin/terms_of_service/generates_spec.rb index aece7a0474..431084314c 100644 --- a/spec/system/admin/terms_of_service/generates_spec.rb +++ b/spec/system/admin/terms_of_service/generates_spec.rb @@ -29,6 +29,8 @@ RSpec.describe 'Admin TermsOfService Generates' do fill_in 'terms_of_service_generator_domain', with: 'host.example' fill_in 'terms_of_service_generator_jurisdiction', with: 'Europe' fill_in 'terms_of_service_generator_choice_of_law', with: 'New York' + fill_in 'terms_of_service_generator_min_age', with: '16' + expect { submit_form } .to change(TermsOfService, :count).by(1) expect(page)