Update to reflect modified filters and language

pull/31481/head
Emelia Smith 2024-11-13 22:52:27 +01:00
parent 1aa3490ad6
commit 6bb83d25b0
No known key found for this signature in database
4 changed files with 19 additions and 11 deletions

View File

@ -56,6 +56,10 @@ module Admin
end
def set_instances
# If we have a `status` in the query parameters, but it has no value or it
# isn't a known status remove the status query parameter
return redirect_to admin_instances_path filter_params.merge(status: nil) if params.include?(:status) && (params[:status].blank? || InstanceFilter::STATUSES.exclude?(params[:status]))
# If we have `limited` in the query parameters, remove it and redirect to suspended:
return redirect_to admin_instances_path filter_params.merge(status: :suspended) if params[:limited].present?

View File

@ -7,6 +7,14 @@ class InstanceFilter
availability
).freeze
# These are the valid input values for statuses:
STATUSES = %w(
allowed
suspended
limited
unrestricted
).freeze
attr_reader :params
def initialize(params)
@ -47,11 +55,9 @@ class InstanceFilter
Instance.joins(:domain_allow).reorder(Arel.sql('domain_allows.id desc'))
when :suspended
Instance.joins(:domain_block).where(domain_blocks: { severity: :suspend }).reorder(Arel.sql('domain_blocks.id desc'))
when :silenced
Instance.joins(:domain_block).where(domain_blocks: { severity: :silence }).reorder(Arel.sql('domain_blocks.id desc'))
when :noop
Instance.joins(:domain_block).where(domain_blocks: { severity: :noop }).reorder(Arel.sql('domain_blocks.id desc'))
when :not_limited
when :limited
Instance.joins(:domain_block).where(domain_blocks: { severity: :silence }).or(Instance.joins(:domain_block).where(domain_blocks: { severity: :noop })).reorder(Arel.sql('domain_blocks.id desc'))
when :unrestricted
# Finds all instances where there isn't a record in the domain_blocks table
Instance.left_outer_joins(:domain_block).where(domain_blocks: { domain: nil })
else

View File

@ -19,9 +19,8 @@
%li= filter_link_to t('admin.instances.moderation.allowed'), status: nil
- else
%li= filter_link_to t('admin.instances.moderation.all'), status: nil
%li= filter_link_to t('admin.instances.moderation.not_limited'), status: 'not_limited'
%li= filter_link_to t('admin.instances.moderation.noop'), status: 'noop'
%li= filter_link_to t('admin.instances.moderation.silenced'), status: 'silenced'
%li= filter_link_to t('admin.instances.moderation.unrestricted'), status: 'unrestricted'
%li= filter_link_to t('admin.instances.moderation.limited'), status: 'limited'
%li= filter_link_to t('admin.instances.moderation.suspended'), status: 'suspended'
.filter-subset

View File

@ -534,11 +534,10 @@ en:
moderation:
all: All
allowed: Allowed
noop: Filtered
not_limited: Not Limited
silenced: Limited
limited: Limited
suspended: Suspended
title: Moderation
unrestricted: Unrestricted
purge: Purge
purge_description_html: If you believe this domain is offline for good, you can delete all account records and associated data from this domain from your storage. This may take a while.
title: Federation