* Make private toots get PuSHed to subscription URLs that belong to domains where you have approved followers * Authorized followers controller, stub for bulk action * Soft block in the background * Add simple test for new controller * Rename Settings::FollowersController to Settings::FollowerDomainsController, paginate results, rename "private" post setting to "followers-only", fix pagination style, improve post privacy preferences style, improve warning style * Extract compose form warnings into own container, show warning when posting to followers-only with unlocked account
		
			
				
	
	
		
			28 lines
		
	
	
	
		
			731 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			28 lines
		
	
	
	
		
			731 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
| # frozen_string_literal: true
 | |
| 
 | |
| class Settings::FollowerDomainsController < ApplicationController
 | |
|   layout 'admin'
 | |
| 
 | |
|   before_action :authenticate_user!
 | |
| 
 | |
|   def show
 | |
|     @account = current_account
 | |
|     @domains = current_account.followers.reorder(nil).group('accounts.domain').select('accounts.domain, count(accounts.id) as accounts_from_domain').page(params[:page]).per(10)
 | |
|   end
 | |
| 
 | |
|   def update
 | |
|     domains = bulk_params[:select] || []
 | |
| 
 | |
|     domains.each do |domain|
 | |
|       SoftBlockDomainFollowersWorker.perform_async(current_account.id, domain)
 | |
|     end
 | |
| 
 | |
|     redirect_to settings_follower_domains_path, notice: I18n.t('followers.success', count: domains.size)
 | |
|   end
 | |
| 
 | |
|   private
 | |
| 
 | |
|   def bulk_params
 | |
|     params.permit(select: [])
 | |
|   end
 | |
| end
 |