about summary refs log tree commit diff
path: root/app/controllers/directories_controller.rb
diff options
context:
space:
mode:
authorThibG <thib@sitedethib.com>2018-12-11 19:18:29 +0100
committerEugen Rochko <eugen@zeonfederated.com>2018-12-11 19:18:29 +0100
commit720daa81435b4c632cdf7b64044cf1ee59af977a (patch)
tree17b3bb837d40d102b920120e7c185655cec67aa7 /app/controllers/directories_controller.rb
parenta48fe52375f207f538b3be675a943c3dd8603541 (diff)
Add instance-wide setting to disable profile directory (#9497)
* Add instance-wide setting to disable profile directory

Fixes #9496

When the profile directory is disabled:
- The “discoverable” setting is hidden from users
- The “profile directory” link is not shown on public pages
- /explore returns 404

* Move Setting.profile_directory check to a before_action filter
Diffstat (limited to 'app/controllers/directories_controller.rb')
-rw-r--r--app/controllers/directories_controller.rb5
1 files changed, 5 insertions, 0 deletions
diff --git a/app/controllers/directories_controller.rb b/app/controllers/directories_controller.rb
index 265fd5fab..b8565af4b 100644
--- a/app/controllers/directories_controller.rb
+++ b/app/controllers/directories_controller.rb
@@ -3,6 +3,7 @@
 class DirectoriesController < ApplicationController
   layout 'public'
 
+  before_action :check_enabled
   before_action :set_instance_presenter
   before_action :set_tag, only: :show
   before_action :set_tags
@@ -18,6 +19,10 @@ class DirectoriesController < ApplicationController
 
   private
 
+  def check_enabled
+    return not_found unless Setting.profile_directory
+  end
+
   def set_tag
     @tag = Tag.discoverable.find_by!(name: params[:id].downcase)
   end