From 8902e265b4efea68cafef790ee0e2870f62985cd Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Thu, 8 Jun 2017 14:58:22 +0200 Subject: 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 --- app/controllers/admin/accounts_controller.rb | 31 ++++++++++++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) (limited to 'app/controllers') diff --git a/app/controllers/admin/accounts_controller.rb b/app/controllers/admin/accounts_controller.rb index 4c41c4215..ef2f8c4c2 100644 --- a/app/controllers/admin/accounts_controller.rb +++ b/app/controllers/admin/accounts_controller.rb @@ -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 -- cgit