Add ability to filter reports by target account domain (#12154)
* Add ability to filter reports by target account domain * Reword by_target_domain label
This commit is contained in:
		| @@ -55,7 +55,8 @@ module Admin | ||||
|       params.permit( | ||||
|         :account_id, | ||||
|         :resolved, | ||||
|         :target_account_id | ||||
|         :target_account_id, | ||||
|         :by_target_domain | ||||
|       ) | ||||
|     end | ||||
|  | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|  | ||||
| module Admin::FilterHelper | ||||
|   ACCOUNT_FILTERS      = %i(local remote by_domain active pending silenced suspended username display_name email ip staff).freeze | ||||
|   REPORT_FILTERS       = %i(resolved account_id target_account_id).freeze | ||||
|   REPORT_FILTERS       = %i(resolved account_id target_account_id by_target_domain).freeze | ||||
|   INVITE_FILTER        = %i(available expired).freeze | ||||
|   CUSTOM_EMOJI_FILTERS = %i(local remote by_domain shortcode).freeze | ||||
|   TAGS_FILTERS         = %i(directory reviewed unreviewed pending_review popular active name).freeze | ||||
|   | ||||
| @@ -19,6 +19,8 @@ class ReportFilter | ||||
|  | ||||
|   def scope_for(key, value) | ||||
|     case key.to_sym | ||||
|     when :by_target_domain | ||||
|       Report.where(target_account: Account.where(domain: value)) | ||||
|     when :resolved | ||||
|       Report.resolved | ||||
|     when :account_id | ||||
|   | ||||
| @@ -8,6 +8,20 @@ | ||||
|       %li= filter_link_to t('admin.reports.unresolved'), resolved: nil | ||||
|       %li= filter_link_to t('admin.reports.resolved'), resolved: '1' | ||||
|  | ||||
| = form_tag admin_reports_url, method: 'GET', class: 'simple_form' do | ||||
|   .fields-group | ||||
|     - Admin::FilterHelper::REPORT_FILTERS.each do |key| | ||||
|       - if params[key].present? | ||||
|         = hidden_field_tag key, params[key] | ||||
|  | ||||
|     - %i(by_target_domain).each do |key| | ||||
|       .input.string.optional | ||||
|         = text_field_tag key, params[key], class: 'string optional', placeholder: I18n.t("admin.reports.#{key}") | ||||
|  | ||||
|     .actions | ||||
|       %button= t('admin.accounts.search') | ||||
|       = link_to t('admin.accounts.reset'), admin_reports_path, class: 'button negative' | ||||
|  | ||||
| - @reports.group_by(&:target_account_id).each do |target_account_id, reports| | ||||
|   - target_account = reports.first.target_account | ||||
|   .report-card | ||||
|   | ||||
| @@ -405,6 +405,7 @@ en: | ||||
|       are_you_sure: Are you sure? | ||||
|       assign_to_self: Assign to me | ||||
|       assigned: Assigned moderator | ||||
|       by_target_domain: Domain of reported account | ||||
|       comment: | ||||
|         none: None | ||||
|       created_at: Reported | ||||
|   | ||||
		Reference in New Issue
	
	Block a user