about summary refs log tree commit diff
diff options
context:
space:
mode:
authorEugen Rochko <eugen@zeonfederated.com>2022-09-29 06:22:12 +0200
committerGitHub <noreply@github.com>2022-09-29 06:22:12 +0200
commit36f4c32a38ed85e5e658b34d36eac40a6147bc0c (patch)
tree11f796d6d764b9f6b3f94f43f4e22c8a2007d4a4
parente623c302d5d4dfc05689eb8fb8e051e30fc38ec8 (diff)
Change path of privacy policy page (#19249)
-rw-r--r--app/controllers/about_controller.rb6
-rw-r--r--app/controllers/privacy_controller.rb22
-rw-r--r--app/javascript/mastodon/features/ui/components/link_footer.js2
-rw-r--r--app/views/layouts/public.html.haml5
-rw-r--r--app/views/privacy/show.html.haml (renamed from app/views/about/terms.html.haml)0
-rw-r--r--app/views/settings/deletes/show.html.haml2
-rw-r--r--app/views/user_mailer/confirmation_instructions.html.haml2
-rw-r--r--app/views/user_mailer/confirmation_instructions.text.erb4
-rw-r--r--config/locales/en.yml9
-rw-r--r--config/routes.rb4
-rw-r--r--spec/controllers/about_controller_spec.rb10
11 files changed, 38 insertions, 28 deletions
diff --git a/app/controllers/about_controller.rb b/app/controllers/about_controller.rb
index d7e78d6b9..4fc2fbe34 100644
--- a/app/controllers/about_controller.rb
+++ b/app/controllers/about_controller.rb
@@ -8,10 +8,10 @@ class AboutController < ApplicationController
   before_action :require_open_federation!, only: [:show, :more]
   before_action :set_body_classes, only: :show
   before_action :set_instance_presenter
-  before_action :set_expires_in, only: [:more, :terms]
+  before_action :set_expires_in, only: [:more]
   before_action :set_registration_form_time, only: :show
 
-  skip_before_action :require_functional!, only: [:more, :terms]
+  skip_before_action :require_functional!, only: [:more]
 
   def show; end
 
@@ -26,8 +26,6 @@ class AboutController < ApplicationController
     @blocks            = DomainBlock.with_user_facing_limitations.by_severity if display_blocks?
   end
 
-  def terms; end
-
   helper_method :display_blocks?
   helper_method :display_blocks_rationale?
   helper_method :public_fetch_mode?
diff --git a/app/controllers/privacy_controller.rb b/app/controllers/privacy_controller.rb
new file mode 100644
index 000000000..ced84dbe5
--- /dev/null
+++ b/app/controllers/privacy_controller.rb
@@ -0,0 +1,22 @@
+# frozen_string_literal: true
+
+class PrivacyController < ApplicationController
+  layout 'public'
+
+  before_action :set_instance_presenter
+  before_action :set_expires_in
+
+  skip_before_action :require_functional!
+
+  def show; end
+
+  private
+
+  def set_instance_presenter
+    @instance_presenter = InstancePresenter.new
+  end
+
+  def set_expires_in
+    expires_in 0, public: true
+  end
+end
diff --git a/app/javascript/mastodon/features/ui/components/link_footer.js b/app/javascript/mastodon/features/ui/components/link_footer.js
index 8817bb6c1..dd05d03dd 100644
--- a/app/javascript/mastodon/features/ui/components/link_footer.js
+++ b/app/javascript/mastodon/features/ui/components/link_footer.js
@@ -73,7 +73,7 @@ class LinkFooter extends React.PureComponent {
     }
 
     items.push(<a key='apps' href='https://joinmastodon.org/apps' target='_blank'><FormattedMessage id='navigation_bar.apps' defaultMessage='Mobile apps' /></a>);
-    items.push(<a key='terms' href='/terms' target='_blank'><FormattedMessage id='getting_started.terms' defaultMessage='Terms of service' /></a>);
+    items.push(<a key='privacy-policy' href='/privacy-policy' target='_blank'><FormattedMessage id='getting_started.privacy_policy' defaultMessage='Privacy Policy' /></a>);
 
     if (signedIn) {
       items.push(<a key='developers' href='/settings/applications' target='_blank'><FormattedMessage id='getting_started.developers' defaultMessage='Developers' /></a>);
diff --git a/app/views/layouts/public.html.haml b/app/views/layouts/public.html.haml
index 83640de1a..14f86c970 100644
--- a/app/views/layouts/public.html.haml
+++ b/app/views/layouts/public.html.haml
@@ -33,8 +33,7 @@
           .column-0
             %h4= t 'footer.resources'
             %ul
-              %li= link_to t('about.terms'), terms_path
-              %li= link_to t('about.privacy_policy'), terms_path
+              %li= link_to t('about.privacy_policy'), privacy_policy_path
           .column-1
             %h4= t 'footer.developers'
             %ul
@@ -57,6 +56,6 @@
         .legal-xs
           = link_to "v#{Mastodon::Version.to_s}", Mastodon::Version.source_url
           ·
-          = link_to t('about.privacy_policy'), terms_path
+          = link_to t('about.privacy_policy'), privacy_policy_path
 
 = render template: 'layouts/application'
diff --git a/app/views/about/terms.html.haml b/app/views/privacy/show.html.haml
index 9d076a91b..9d076a91b 100644
--- a/app/views/about/terms.html.haml
+++ b/app/views/privacy/show.html.haml
diff --git a/app/views/settings/deletes/show.html.haml b/app/views/settings/deletes/show.html.haml
index 08792e0af..ddf090879 100644
--- a/app/views/settings/deletes/show.html.haml
+++ b/app/views/settings/deletes/show.html.haml
@@ -16,7 +16,7 @@
       %li.positive-hint= t('deletes.warning.email_contact_html', email: Setting.site_contact_email)
       %li.positive-hint= t('deletes.warning.username_available')
 
-  %p.hint= t('deletes.warning.more_details_html', terms_path: terms_path)
+  %p.hint= t('deletes.warning.more_details_html', terms_path: privacy_policy_path)
 
   %hr.spacer/
 
diff --git a/app/views/user_mailer/confirmation_instructions.html.haml b/app/views/user_mailer/confirmation_instructions.html.haml
index 39a83faff..447e689b4 100644
--- a/app/views/user_mailer/confirmation_instructions.html.haml
+++ b/app/views/user_mailer/confirmation_instructions.html.haml
@@ -77,4 +77,4 @@
                         %tbody
                           %tr
                             %td.column-cell.text-center
-                              %p= t 'devise.mailer.confirmation_instructions.extra_html', terms_path: about_more_url, policy_path: terms_url
+                              %p= t 'devise.mailer.confirmation_instructions.extra_html', terms_path: about_more_url, policy_path: privacy_policy_url
diff --git a/app/views/user_mailer/confirmation_instructions.text.erb b/app/views/user_mailer/confirmation_instructions.text.erb
index aad91cd9d..a1b2ba7d2 100644
--- a/app/views/user_mailer/confirmation_instructions.text.erb
+++ b/app/views/user_mailer/confirmation_instructions.text.erb
@@ -6,7 +6,7 @@
 
 => <%= confirmation_url(@resource, confirmation_token: @token, redirect_to_app: @resource.created_by_application ? 'true' : nil) %>
 
-<%= strip_tags(t('devise.mailer.confirmation_instructions.extra_html', terms_path: about_more_url, policy_path: terms_url)) %>
+<%= strip_tags(t('devise.mailer.confirmation_instructions.extra_html', terms_path: about_more_url, policy_path: privacy_policy_url)) %>
 
 => <%= about_more_url %>
-=> <%= terms_url %>
+=> <%= privacy_policy_url %>
diff --git a/config/locales/en.yml b/config/locales/en.yml
index 9f047f523..dd341e0c8 100644
--- a/config/locales/en.yml
+++ b/config/locales/en.yml
@@ -28,7 +28,7 @@ en:
     learn_more: Learn more
     logged_in_as_html: You are currently logged in as %{username}.
     logout_before_registering: You are already logged in.
-    privacy_policy: Privacy policy
+    privacy_policy: Privacy Policy
     rules: Server rules
     rules_html: 'Below is a summary of rules you need to follow if you want to have an account on this server of Mastodon:'
     see_whats_happening: See what's happening
@@ -39,7 +39,6 @@ en:
       other: posts
     status_count_before: Who published
     tagline: Decentralized social network
-    terms: Terms of service
     unavailable_content: Moderated servers
     unavailable_content_description:
       domain: Server
@@ -797,8 +796,8 @@ en:
         desc_html: Displayed in sidebar and meta tags. Describe what Mastodon is and what makes this server special in a single paragraph.
         title: Short server description
       site_terms:
-        desc_html: You can write your own privacy policy, terms of service or other legalese. You can use HTML tags
-        title: Custom terms of service
+        desc_html: You can write your own privacy policy. You can use HTML tags
+        title: Custom privacy policy
       site_title: Server name
       thumbnail:
         desc_html: Used for previews via OpenGraph and API. 1200x630px recommended
@@ -1720,7 +1719,7 @@ en:
       <p>This document is CC-BY-SA. It was last updated May 26, 2022.</p>
 
       <p>Originally adapted from the <a href="https://github.com/discourse/discourse">Discourse privacy policy</a>.</p>
-    title: "%{instance} Terms of Service and Privacy Policy"
+    title: "%{instance} Privacy Policy"
   themes:
     contrast: Mastodon (High contrast)
     default: Mastodon (Dark)
diff --git a/config/routes.rb b/config/routes.rb
index 9491c5177..5d0b3004b 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -640,7 +640,9 @@ Rails.application.routes.draw do
 
   get '/about',        to: 'about#show'
   get '/about/more',   to: 'about#more'
-  get '/terms',        to: 'about#terms'
+
+  get '/privacy-policy', to: 'privacy#show', as: :privacy_policy
+  get '/terms',          to: redirect('/privacy-policy')
 
   match '/', via: [:post, :put, :patch, :delete], to: 'application#raise_not_found', format: false
   match '*unmatched_route', via: :all, to: 'application#raise_not_found', format: false
diff --git a/spec/controllers/about_controller_spec.rb b/spec/controllers/about_controller_spec.rb
index 03dddd8c1..40e395a64 100644
--- a/spec/controllers/about_controller_spec.rb
+++ b/spec/controllers/about_controller_spec.rb
@@ -31,16 +31,6 @@ RSpec.describe AboutController, type: :controller do
     end
   end
 
-  describe 'GET #terms' do
-    before do
-      get :terms
-    end
-
-    it 'returns http success' do
-      expect(response).to have_http_status(200)
-    end
-  end
-
   describe 'helper_method :new_user' do
     it 'returns a new User' do
       user = @controller.view_context.new_user