Add dormant filter to relationship manager, rename other filters (#10308)

Rename "abandoned" to "moved", and "active" to "primary"
This commit is contained in:
Eugen Rochko 2019-03-18 03:53:17 +01:00 committed by GitHub
parent 7130d6e512
commit b8e4c85e69
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 26 additions and 12 deletions

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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