end
def filter_params
- params.permit(
- :local,
- :remote,
- :by_domain,
- :active,
- :pending,
- :disabled,
- :silenced,
- :suspended,
- :username,
- :display_name,
- :email,
- :ip,
- :staff
- )
+ params.slice(*AccountFilter::KEYS).permit(*AccountFilter::KEYS)
end
end
end
end
def filter_params
- params.slice(:local, :remote, :by_domain, :shortcode, :page).permit(:local, :remote, :by_domain, :shortcode, :page)
+ params.slice(:page, *CustomEmojiFilter::KEYS).permit(:page, *CustomEmojiFilter::KEYS)
end
def action_from_button
end
def filter_params
- params.permit(:limited, :by_domain)
+ params.slice(*InstanceFilter::KEYS).permit(*InstanceFilter::KEYS)
end
end
end
end
def filter_params
- params.permit(:available, :expired)
+ params.slice(*InviteFilter::KEYS).permit(*InviteFilter::KEYS)
end
end
end
end
def filter_params
- params.permit(
- :account_id,
- :resolved,
- :target_account_id,
- :by_target_domain
- )
+ params.slice(*ReportFilter::KEYS).permit(*ReportFilter::KEYS)
end
def set_report
end
def filter_params
- params.slice(:directory, :reviewed, :unreviewed, :pending_review, :page, :popular, :active, :name).permit(:directory, :reviewed, :unreviewed, :pending_review, :page, :popular, :active, :name)
+ params.slice(:page, *TagFilter::KEYS).permit(:page, *TagFilter::KEYS)
end
def tag_params
end
def current_params
- params.slice(:page, :status, :relationship, :by_domain, :activity, :order).permit(:page, :status, :relationship, :by_domain, :activity, :order)
+ params.slice(:page, *RelationshipFilter::KEYS).permit(:page, *RelationshipFilter::KEYS)
end
def action_from_button
# frozen_string_literal: true
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 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
- INSTANCES_FILTERS = %i(limited by_domain).freeze
- FOLLOWERS_FILTERS = %i(relationship status by_domain activity order).freeze
-
- FILTERS = ACCOUNT_FILTERS + REPORT_FILTERS + INVITE_FILTER + CUSTOM_EMOJI_FILTERS + TAGS_FILTERS + INSTANCES_FILTERS + FOLLOWERS_FILTERS
+ FILTERS = [
+ AccountFilter::KEYS,
+ CustomEmojiFilter::KEYS,
+ ReportFilter::KEYS,
+ TagFilter::KEYS,
+ InstanceFilter::KEYS,
+ InviteFilter::KEYS,
+ RelationshipFilter::KEYS,
+ ].flatten.freeze
def filter_link_to(text, link_to_params, link_class_params = link_to_params)
new_url = filtered_url_for(link_to_params)
return false;
});
- delegate(document, '.blocks-table button.icon-button', 'click', function(e) {
- e.preventDefault();
-
- const classList = this.firstElementChild.classList;
- classList.toggle('fa-chevron-down');
- classList.toggle('fa-chevron-up');
- this.parentElement.parentElement.nextElementSibling.classList.toggle('hidden');
- });
-
delegate(document, '.modal-button', 'click', e => {
e.preventDefault();
# frozen_string_literal: true
class AccountFilter
+ KEYS = %i(
+ local
+ remote
+ by_domain
+ active
+ pending
+ silenced
+ suspended
+ username
+ display_name
+ email
+ ip
+ staff
+ ).freeze
+
attr_reader :params
def initialize(params)
# frozen_string_literal: true
class CustomEmojiFilter
+ KEYS = %i(
+ local
+ remote
+ by_domain
+ shortcode
+ ).freeze
+
attr_reader :params
def initialize(params)
# frozen_string_literal: true
class InstanceFilter
+ KEYS = %i(
+ limited
+ by_domain
+ ).freeze
+
attr_reader :params
def initialize(params)
# frozen_string_literal: true
class InviteFilter
+ KEYS = %i(
+ available
+ expired
+ ).freeze
+
attr_reader :params
def initialize(params)
--- /dev/null
+# frozen_string_literal: true
+
+class RelationshipFilter
+ KEYS = %i(
+ relationship
+ status
+ by_domain
+ activity
+ order
+ ).freeze
+end
# frozen_string_literal: true
class ReportFilter
+ KEYS = %i(
+ resolved
+ account_id
+ target_account_id
+ by_target_domain
+ ).freeze
+
attr_reader :params
def initialize(params)
# frozen_string_literal: true
class TagFilter
+ KEYS = %i(
+ directory
+ reviewed
+ unreviewed
+ pending_review
+ popular
+ active
+ name
+ ).freeze
+
attr_reader :params
def initialize(params)
= form_tag admin_accounts_url, method: 'GET', class: 'simple_form' do
.fields-group
- - Admin::FilterHelper::ACCOUNT_FILTERS.each do |key|
+ - AccountFilter::KEYS.each do |key|
- if params[key].present?
= hidden_field_tag key, params[key]
= form_tag admin_custom_emojis_url, method: 'GET', class: 'simple_form' do
.fields-group
- - Admin::FilterHelper::CUSTOM_EMOJI_FILTERS.each do |key|
+ - CustomEmojiFilter::KEYS.each do |key|
= hidden_field_tag key, params[key] if params[key].present?
- %i(shortcode by_domain).each do |key|
= form_for(@form, url: batch_admin_custom_emojis_path) do |f|
= hidden_field_tag :page, params[:page] || 1
- - Admin::FilterHelper::CUSTOM_EMOJI_FILTERS.each do |key|
+ - CustomEmojiFilter::KEYS.each do |key|
= hidden_field_tag key, params[key] if params[key].present?
.batch-table
- content_for :heading_actions do
= link_to t('admin.email_domain_blocks.add_new'), new_admin_email_domain_block_path, class: 'button'
-- if @email_domain_blocks.count == 0
+- if @email_domain_blocks.empty?
%div.muted-hint.center-text=t 'admin.email_domain_blocks.empty'
- else
.table-wrapper
- unless whitelist_mode?
= form_tag admin_instances_url, method: 'GET', class: 'simple_form' do
.fields-group
- - Admin::FilterHelper::INSTANCES_FILTERS.each do |key|
- - if params[key].present?
- = hidden_field_tag key, params[key]
+ - InstanceFilter::KEYS.each do |key|
+ = hidden_field_tag key, params[key] if params[key].present?
- %i(by_domain).each do |key|
.input.string.optional
= 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]
+ - ReportFilter::KEYS.each do |key|
+ = hidden_field_tag key, params[key] if params[key].present?
- %i(by_target_domain).each do |key|
.input.string.optional
= form_tag admin_tags_url, method: 'GET', class: 'simple_form' do
.fields-group
- - Admin::FilterHelper::TAGS_FILTERS.each do |key|
+ - TagFilter::KEYS.each do |key|
= hidden_field_tag key, params[key] if params[key].present?
- %i(name).each do |key|
= form_for(@form, url: batch_admin_tags_path) do |f|
= hidden_field_tag :page, params[:page] || 1
- = hidden_field_tag :name, params[:name] if params[:name].present?
- - Admin::FilterHelper::TAGS_FILTERS.each do |key|
+ - TagFilter::KEYS.each do |key|
= hidden_field_tag key, params[key] if params[key].present?
.batch-table.optional
- content_for :heading_actions do
= link_to t('filters.new.title'), new_filter_path, class: 'button'
-- if @filters.count == 0
+- if @filters.empty?
%div.muted-hint.center-text= t 'filters.index.empty'
- else
.table-wrapper
= form_for(@form, url: relationships_path, method: :patch) do |f|
= hidden_field_tag :page, params[:page] || 1
- = hidden_field_tag :relationship, params[:relationship]
- = hidden_field_tag :status, params[:status]
- = hidden_field_tag :activity, params[:activity]
- = hidden_field_tag :order, params[:order]
+
+ - RelationshipFilter::KEYS.each do |key|
+ = hidden_field_tag key, params[key] if params[key].present?
.batch-table
.batch-table__toolbar
- content_for :heading_actions do
= link_to t('doorkeeper.applications.index.new'), new_settings_application_path, class: 'button'
-- if @applications.count == 0
+- if @applications.empty?
%div.muted-hint.center-text=t 'doorkeeper.applications.index.empty'
- else
.table-wrapper
end
end
- resource :role do
+ resource :role, only: [] do
member do
post :promote
post :demote