diff options
author | Eugen Rochko <eugen@zeonfederated.com> | 2017-06-08 14:58:22 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-06-08 14:58:22 +0200 |
commit | 8902e265b4efea68cafef790ee0e2870f62985cd (patch) | |
tree | e52d74efc1074e800ed31b188bfd66962b814ee1 /app/controllers | |
parent | b8ea28d6d0bd5701cf35d6f633b0aa36ceb5ca9c (diff) |
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
Diffstat (limited to 'app/controllers')
-rw-r--r-- | app/controllers/admin/accounts_controller.rb | 31 |
1 files changed, 29 insertions, 2 deletions
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 |