* Fix account tags not being saved correctly Regression from f371b32 Fix Tag#discoverable not returning tags where listable is nil instead of true Add notice when saving hashtags in admin UI Change public hashtag and directory pages to return 404 for forbidden tags * Remove unused locale string
		
			
				
	
	
		
			45 lines
		
	
	
		
			963 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			45 lines
		
	
	
		
			963 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
| # frozen_string_literal: true
 | |
| 
 | |
| class DirectoriesController < ApplicationController
 | |
|   layout 'public'
 | |
| 
 | |
|   before_action :authenticate_user!, if: :whitelist_mode?
 | |
|   before_action :require_enabled!
 | |
|   before_action :set_instance_presenter
 | |
|   before_action :set_tag, only: :show
 | |
|   before_action :set_tags
 | |
|   before_action :set_accounts
 | |
| 
 | |
|   def index
 | |
|     render :index
 | |
|   end
 | |
| 
 | |
|   def show
 | |
|     render :index
 | |
|   end
 | |
| 
 | |
|   private
 | |
| 
 | |
|   def require_enabled!
 | |
|     return not_found unless Setting.profile_directory
 | |
|   end
 | |
| 
 | |
|   def set_tag
 | |
|     @tag = Tag.discoverable.find_normalized!(params[:id])
 | |
|   end
 | |
| 
 | |
|   def set_tags
 | |
|     @tags = Tag.discoverable.limit(30).reject { |tag| tag.cached_sample_accounts.empty? }
 | |
|   end
 | |
| 
 | |
|   def set_accounts
 | |
|     @accounts = Account.discoverable.by_recent_status.page(params[:page]).per(40).tap do |query|
 | |
|       query.merge!(Account.tagged_with(@tag.id)) if @tag
 | |
|     end
 | |
|   end
 | |
| 
 | |
|   def set_instance_presenter
 | |
|     @instance_presenter = InstancePresenter.new
 | |
|   end
 | |
| end
 |