about summary refs log tree commit diff
path: root/app/controllers/concerns/web_app_controller_concern.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/controllers/concerns/web_app_controller_concern.rb')
-rw-r--r--app/controllers/concerns/web_app_controller_concern.rb13
1 files changed, 11 insertions, 2 deletions
diff --git a/app/controllers/concerns/web_app_controller_concern.rb b/app/controllers/concerns/web_app_controller_concern.rb
index 8a6c73af3..c671ce785 100644
--- a/app/controllers/concerns/web_app_controller_concern.rb
+++ b/app/controllers/concerns/web_app_controller_concern.rb
@@ -4,15 +4,24 @@ module WebAppControllerConcern
   extend ActiveSupport::Concern
 
   included do
-    before_action :set_body_classes
+    before_action :redirect_unauthenticated_to_permalinks!
+    before_action :set_app_body_class
     before_action :set_referrer_policy_header
   end
 
-  def set_body_classes
+  def set_app_body_class
     @body_classes = 'app-body'
   end
 
   def set_referrer_policy_header
     response.headers['Referrer-Policy'] = 'origin'
   end
+
+  def redirect_unauthenticated_to_permalinks!
+    return if user_signed_in?
+
+    redirect_path = PermalinkRedirector.new(request.path).redirect_path
+
+    redirect_to(redirect_path) if redirect_path.present?
+  end
 end