Add explit admin actions to (re)subscribe/unsubscribe remote accounts (#3640)

* Add explit admin actions to (re)subscribe/unsubscribe remote accounts
and re-download avatar/header

* Improve how admin NSFW toggle looks
This commit is contained in:
Eugen Rochko
2017-06-08 14:58:22 +02:00
committed by GitHub
parent b8ea28d6d0
commit 8902e265b4
31 changed files with 348 additions and 314 deletions

View File

@ -2,16 +2,43 @@
module Admin
class AccountsController < BaseController
before_action :set_account, only: [:show, :subscribe, :unsubscribe, :redownload]
before_action :require_remote_account!, only: [:subscribe, :unsubscribe, :redownload]
def index
@accounts = filtered_accounts.page(params[:page])
end
def show
@account = Account.find(params[:id])
def show; end
def subscribe
Pubsubhubbub::SubscribeWorker.perform_async(@account.id)
redirect_to admin_account_path(@account.id)
end
def unsubscribe
UnsubscribeService.new.call(@account)
redirect_to admin_account_path(@account.id)
end
def redownload
@account.avatar = @account.avatar_remote_url
@account.header = @account.header_remote_url
@account.save!
redirect_to admin_account_path(@account.id)
end
private
def set_account
@account = Account.find(params[:id])
end
def require_remote_account!
redirect_to admin_account_path(@account.id) if @account.local?
end
def filtered_accounts
AccountFilter.new(filter_params).results
end

View File

@ -245,19 +245,13 @@
.report-status__actions {
flex: 0 0 auto;
position: relative;
display: flex;
flex-direction: column;
.nsfw-button {
color: $white;
font-size: 11px;
width: 11px;
display: block;
}
.trash-button {
position: absolute;
bottom: 10px;
.icon-button {
font-size: 24px;
width: 24px;
text-align: center;
margin-bottom: 10px;
}
}

View File

@ -67,11 +67,17 @@
%th= t('.targeted_reports')
%td= link_to pluralize(@account.targeted_reports.count, t('.report')), admin_reports_path(target_account_id: @account.id)
- if @account.local?
%div{ style: 'float: right' }
%div{ style: 'float: right' }
- if @account.local?
= link_to t('admin.accounts.reset_password'), admin_account_reset_path(@account.id), method: :create, class: 'button'
- if @account.user&.otp_required_for_login?
= link_to t('admin.accounts.disable_two_factor_authentication'), admin_user_two_factor_authentication_path(@account.user.id), method: :delete, class: 'button'
- else
= link_to @account.subscribed? ? t('admin.accounts.resubscribe') : t('admin.accounts.subscribe'), subscribe_admin_account_path(@account.id), method: :post, class: 'button'
- if @account.subscribed?
= link_to t('admin.accounts.unsubscribe'), unsubscribe_admin_account_path(@account.id), method: :post, class: 'button negative'
= link_to t('admin.accounts.redownload'), redownload_admin_account_path(@account.id), method: :post, class: 'button'
%div{ style: 'float: left' }
- if @account.silenced?

View File

@ -25,8 +25,8 @@
.entry= render partial: 'stream_entries/simple_status', locals: { status: status }
.report-status__actions
- unless status.media_attachments.empty?
= link_to admin_report_reported_status_path(@report, status, status: { sensitive: !status.sensitive }), method: :patch, class: 'nsfw-button', title: t("admin.reports.nsfw.#{!status.sensitive}") do
= t("admin.reports.nsfw.#{!status.sensitive}")
= link_to admin_report_reported_status_path(@report, status, status: { sensitive: !status.sensitive }), method: :patch, class: 'icon-button nsfw-button', title: t("admin.reports.nsfw.#{!status.sensitive}") do
= fa_icon status.sensitive? ? 'eye' : 'eye-slash'
= link_to admin_report_reported_status_path(@report, status), method: :delete, class: 'icon-button trash-button', title: t('admin.reports.delete'), data: { confirm: t('admin.reports.are_you_sure') } do
= fa_icon 'trash'