--- /dev/null
+# frozen_string_literal: true
+
+module Admin
+ class FollowersController < BaseController
+ before_action :set_account
+
+ PER_PAGE = 40
+
+ def index
+ authorize :account, :index?
+ @followers = followers.recent.page(params[:page]).per(PER_PAGE)
+ end
+
+ def set_account
+ @account = Account.find(params[:account_id])
+ end
+
+ def followers
+ Follow.includes(:account).where(target_account: @account)
+ end
+ end
+end
"#{username}@#{Rails.configuration.x.local_domain}"
end
+ def local_followers_count
+ Follow.where(target_account_id: id).count
+ end
+
def to_webfinger_s
"acct:#{local_username_and_domain}"
end
%td= number_to_human @account.following_count
%tr
%th= t('admin.accounts.followers')
- %td= number_to_human @account.followers_count
+ %td
+ = number_to_human @account.followers_count
+ = link_to t('admin.accounts.followers_local', local: number_to_human(@account.local_followers_count)), admin_account_followers_path(@account.id)
%tr
%th= t('admin.accounts.statuses')
%td= link_to number_to_human(@account.statuses_count), admin_account_statuses_path(@account.id)
--- /dev/null
+- content_for :header_tags do
+ = javascript_pack_tag 'admin', integrity: true, async: true, crossorigin: 'anonymous'
+
+- content_for :page_title do
+ = t('admin.followers.title', acct: @account.acct)
+
+.filters
+ .filter-subset
+ %strong= t('admin.accounts.location.title')
+ %ul
+ %li= link_to t('admin.accounts.location.local'), admin_account_followers_path(@account.id), class: 'selected'
+ .back-link{ style: 'flex: 1 1 auto; text-align: right' }
+ = link_to admin_account_path(@account.id) do
+ %i.fa.fa-chevron-left.fa-fw
+ = t('admin.followers.back_to_account')
+
+.table-wrapper
+ %table.table
+ %thead
+ %tr
+ %th= t('admin.accounts.username')
+ %th= t('admin.accounts.role')
+ %th= t('admin.accounts.most_recent_ip')
+ %th= t('admin.accounts.most_recent_activity')
+ %th
+ %tbody
+ = render partial: 'admin/accounts/account', collection: @followers.map{|a| a.account}
+
+= paginate @followers
enabled: Enabled
feed_url: Feed URL
followers: Followers
+ followers_local: "(%{local} local)"
followers_url: Followers URL
follows: Follows
header: Header
create: Add domain
title: New e-mail blacklist entry
title: E-mail blacklist
+ followers:
+ back_to_account: Back To Account
+ title: "%{acct}'s Followers"
instances:
account_count: Known accounts
domain_name: Domain
resource :reset, only: [:create]
resource :action, only: [:new, :create], controller: 'account_actions'
resources :statuses, only: [:index, :create, :update, :destroy]
+ resources :followers, only: [:index]
resource :confirmation, only: [:create] do
collection do