forked from fedi/mastodon
Add dormant filter to relationship manager, rename other filters (#10308)
Rename "abandoned" to "moved", and "active" to "primary"
This commit is contained in:
parent
7130d6e512
commit
b8e4c85e69
|
@ -31,17 +31,18 @@ class RelationshipsController < ApplicationController
|
||||||
def relationships_scope
|
def relationships_scope
|
||||||
scope = begin
|
scope = begin
|
||||||
if following_relationship?
|
if following_relationship?
|
||||||
current_account.following.includes(:account_stat)
|
current_account.following.joins(:account_stat)
|
||||||
else
|
else
|
||||||
current_account.followers.includes(:account_stat)
|
current_account.followers.joins(:account_stat)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
scope.merge!(Follow.recent)
|
scope.merge!(Follow.recent)
|
||||||
scope.merge!(mutual_relationship_scope) if mutual_relationship?
|
scope.merge!(mutual_relationship_scope) if mutual_relationship?
|
||||||
scope.merge!(abandoned_account_scope) if params[:status] == 'abandoned'
|
scope.merge!(moved_account_scope) if params[:status] == 'moved'
|
||||||
scope.merge!(active_account_scope) if params[:status] == 'active'
|
scope.merge!(primary_account_scope) if params[:status] == 'primary'
|
||||||
scope.merge!(by_domain_scope) if params[:by_domain].present?
|
scope.merge!(by_domain_scope) if params[:by_domain].present?
|
||||||
|
scope.merge!(dormant_account_scope) if params[:activity] == 'dormant'
|
||||||
|
|
||||||
scope
|
scope
|
||||||
end
|
end
|
||||||
|
@ -50,14 +51,18 @@ class RelationshipsController < ApplicationController
|
||||||
Account.where(id: current_account.following)
|
Account.where(id: current_account.following)
|
||||||
end
|
end
|
||||||
|
|
||||||
def abandoned_account_scope
|
def moved_account_scope
|
||||||
Account.where.not(moved_to_account_id: nil)
|
Account.where.not(moved_to_account_id: nil)
|
||||||
end
|
end
|
||||||
|
|
||||||
def active_account_scope
|
def primary_account_scope
|
||||||
Account.where(moved_to_account_id: nil)
|
Account.where(moved_to_account_id: nil)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def dormant_account_scope
|
||||||
|
AccountStat.where(last_status_at: nil).or(AccountStat.where(AccountStat.arel_table[:last_status_at].lt(1.month.ago)))
|
||||||
|
end
|
||||||
|
|
||||||
def by_domain_scope
|
def by_domain_scope
|
||||||
Account.where(domain: params[:by_domain])
|
Account.where(domain: params[:by_domain])
|
||||||
end
|
end
|
||||||
|
@ -79,7 +84,7 @@ class RelationshipsController < ApplicationController
|
||||||
end
|
end
|
||||||
|
|
||||||
def current_params
|
def current_params
|
||||||
params.slice(:page, :status, :relationship, :by_domain).permit(:page, :status, :relationship, :by_domain)
|
params.slice(:page, :status, :relationship, :by_domain, :activity).permit(:page, :status, :relationship, :by_domain, :activity)
|
||||||
end
|
end
|
||||||
|
|
||||||
def action_from_button
|
def action_from_button
|
||||||
|
|
|
@ -7,7 +7,7 @@ module Admin::FilterHelper
|
||||||
CUSTOM_EMOJI_FILTERS = %i(local remote by_domain shortcode).freeze
|
CUSTOM_EMOJI_FILTERS = %i(local remote by_domain shortcode).freeze
|
||||||
TAGS_FILTERS = %i(hidden).freeze
|
TAGS_FILTERS = %i(hidden).freeze
|
||||||
INSTANCES_FILTERS = %i(limited by_domain).freeze
|
INSTANCES_FILTERS = %i(limited by_domain).freeze
|
||||||
FOLLOWERS_FILTERS = %i(relationship status by_domain).freeze
|
FOLLOWERS_FILTERS = %i(relationship status by_domain activity).freeze
|
||||||
|
|
||||||
FILTERS = ACCOUNT_FILTERS + REPORT_FILTERS + INVITE_FILTER + CUSTOM_EMOJI_FILTERS + TAGS_FILTERS + INSTANCES_FILTERS + FOLLOWERS_FILTERS
|
FILTERS = ACCOUNT_FILTERS + REPORT_FILTERS + INVITE_FILTER + CUSTOM_EMOJI_FILTERS + TAGS_FILTERS + INSTANCES_FILTERS + FOLLOWERS_FILTERS
|
||||||
|
|
||||||
|
|
|
@ -16,13 +16,20 @@
|
||||||
%strong= t 'relationships.status'
|
%strong= t 'relationships.status'
|
||||||
%ul
|
%ul
|
||||||
%li= filter_link_to t('generic.all'), status: nil
|
%li= filter_link_to t('generic.all'), status: nil
|
||||||
%li= filter_link_to t('relationships.active'), status: 'active'
|
%li= filter_link_to t('relationships.primary'), status: 'primary'
|
||||||
%li= filter_link_to t('relationships.abandoned'), status: 'abandoned'
|
%li= filter_link_to t('relationships.moved'), status: 'moved'
|
||||||
|
|
||||||
|
.filter-subset
|
||||||
|
%strong= t 'relationships.activity'
|
||||||
|
%ul
|
||||||
|
%li= filter_link_to t('generic.all'), activity: nil
|
||||||
|
%li= filter_link_to t('relationships.dormant'), activity: 'dormant'
|
||||||
|
|
||||||
= form_for(@form, url: relationships_path, method: :patch) do |f|
|
= form_for(@form, url: relationships_path, method: :patch) do |f|
|
||||||
= hidden_field_tag :page, params[:page] || 1
|
= hidden_field_tag :page, params[:page] || 1
|
||||||
= hidden_field_tag :relationship, params[:relationship]
|
= hidden_field_tag :relationship, params[:relationship]
|
||||||
= hidden_field_tag :status, params[:status]
|
= hidden_field_tag :status, params[:status]
|
||||||
|
= hidden_field_tag :activity, params[:activity]
|
||||||
|
|
||||||
.batch-table
|
.batch-table
|
||||||
.batch-table__toolbar
|
.batch-table__toolbar
|
||||||
|
|
|
@ -751,9 +751,11 @@ en:
|
||||||
publishing: Publishing
|
publishing: Publishing
|
||||||
web: Web
|
web: Web
|
||||||
relationships:
|
relationships:
|
||||||
abandoned: Abandoned
|
activity: Account activity
|
||||||
active: Active
|
dormant: Dormant
|
||||||
|
moved: Moved
|
||||||
mutual: Mutual
|
mutual: Mutual
|
||||||
|
primary: Primary
|
||||||
relationship: Relationship
|
relationship: Relationship
|
||||||
remove_selected_domains: Remove all followers from the selected domains
|
remove_selected_domains: Remove all followers from the selected domains
|
||||||
remove_selected_followers: Remove selected followers
|
remove_selected_followers: Remove selected followers
|
||||||
|
|
Loading…
Reference in a new issue