* Add trending statuses * Fix dangling items with stale scores in localized sets * Various fixes and improvements - Change approve_all/reject_all to approve_accounts/reject_accounts - Change Trends::Query methods to not mutate the original query - Change Trends::Query#skip to offset - Change follow recommendations to be refreshed in a transaction * Add tests for trending statuses filtering behaviour * Fix not applying filtering scope in controller
		
			
				
	
	
		
			41 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
# frozen_string_literal: true
 | 
						|
 | 
						|
class Admin::Trends::Links::PreviewCardProvidersController < Admin::BaseController
 | 
						|
  def index
 | 
						|
    authorize :preview_card_provider, :index?
 | 
						|
 | 
						|
    @preview_card_providers = filtered_preview_card_providers.page(params[:page])
 | 
						|
    @form = Trends::PreviewCardProviderBatch.new
 | 
						|
  end
 | 
						|
 | 
						|
  def batch
 | 
						|
    @form = Trends::PreviewCardProviderBatch.new(trends_preview_card_provider_batch_params.merge(current_account: current_account, action: action_from_button))
 | 
						|
    @form.save
 | 
						|
  rescue ActionController::ParameterMissing
 | 
						|
    flash[:alert] = I18n.t('admin.accounts.no_account_selected')
 | 
						|
  ensure
 | 
						|
    redirect_to admin_trends_links_preview_card_providers_path(filter_params)
 | 
						|
  end
 | 
						|
 | 
						|
  private
 | 
						|
 | 
						|
  def filtered_preview_card_providers
 | 
						|
    Trends::PreviewCardProviderFilter.new(filter_params).results
 | 
						|
  end
 | 
						|
 | 
						|
  def filter_params
 | 
						|
    params.slice(:page, *Trends::PreviewCardProviderFilter::KEYS).permit(:page, *Trends::PreviewCardProviderFilter::KEYS)
 | 
						|
  end
 | 
						|
 | 
						|
  def trends_preview_card_provider_batch_params
 | 
						|
    params.require(:trends_preview_card_provider_batch).permit(:action, preview_card_provider_ids: [])
 | 
						|
  end
 | 
						|
 | 
						|
  def action_from_button
 | 
						|
    if params[:approve]
 | 
						|
      'approve'
 | 
						|
    elsif params[:reject]
 | 
						|
      'reject'
 | 
						|
    end
 | 
						|
  end
 | 
						|
end
 |