Fix being able to report otherwise inaccessible statuses (#18528)
This commit is contained in:
		
							parent
							
								
									1ff4877945
								
							
						
					
					
						commit
						c4d2c39a75
					
				@ -103,7 +103,7 @@ class Admin::StatusBatchAction
 | 
			
		||||
 | 
			
		||||
  def handle_report!
 | 
			
		||||
    @report = Report.new(report_params) unless with_report?
 | 
			
		||||
    @report.status_ids = (@report.status_ids + status_ids.map(&:to_i)).uniq
 | 
			
		||||
    @report.status_ids = (@report.status_ids + allowed_status_ids).uniq
 | 
			
		||||
    @report.save!
 | 
			
		||||
 | 
			
		||||
    @report_id = @report.id
 | 
			
		||||
@ -135,4 +135,8 @@ class Admin::StatusBatchAction
 | 
			
		||||
  def report_params
 | 
			
		||||
    { account: current_account, target_account: target_account }
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def allowed_status_ids
 | 
			
		||||
    AccountStatusesFilter.new(@report.target_account, current_account).results.with_discarded.where(id: status_ids).pluck(:id)
 | 
			
		||||
  end
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
@ -57,7 +57,7 @@ class ReportService < BaseService
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def reported_status_ids
 | 
			
		||||
    @target_account.statuses.with_discarded.find(Array(@status_ids)).pluck(:id)
 | 
			
		||||
    AccountStatusesFilter.new(@target_account, @source_account).results.with_discarded.find(Array(@status_ids)).pluck(:id)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def payload
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user