commit: 4b911fea03a204a1a1cc0e5f63ede1679e0494c3
parent: 1fcdaafa6fbe6d746a096c33263d76e6819da46d
Author: Eugen Rochko <eugen@zeonfederated.com>
Date: Thu, 20 Jul 2017 23:07:13 +0200
Add button to re-subscribe to all accounts from a domain (#4285)
Diffstat:
3 files changed, 19 insertions(+), 1 deletion(-)
diff --git a/app/controllers/admin/instances_controller.rb b/app/controllers/admin/instances_controller.rb
@@ -6,15 +6,26 @@ module Admin
@instances = ordered_instances
end
+ def resubscribe
+ params.require(:by_domain)
+ Pubsubhubbub::SubscribeWorker.push_bulk(subscribeable_accounts.pluck(:id))
+ redirect_to admin_instances_path
+ end
+
private
def paginated_instances
Account.remote.by_domain_accounts.page(params[:page])
end
+
helper_method :paginated_instances
def ordered_instances
paginated_instances.map { |account| Instance.new(account) }
end
+
+ def subscribeable_accounts
+ Account.with_followers.remote.where(domain: params[:by_domain])
+ end
end
end
diff --git a/app/views/admin/instances/_instance.html.haml b/app/views/admin/instances/_instance.html.haml
@@ -3,3 +3,5 @@
= instance.domain
%td.count
= instance.accounts_count
+ %td
+ = table_link_to 'paper-plane-o', t('admin.accounts.resubscribe'), resubscribe_admin_instances_url(by_domain: instance.domain), method: :post, data: { confirm: t('admin.accounts.are_you_sure') }
diff --git a/config/routes.rb b/config/routes.rb
@@ -88,7 +88,12 @@ Rails.application.routes.draw do
resources :subscriptions, only: [:index]
resources :domain_blocks, only: [:index, :new, :create, :show, :destroy]
resource :settings, only: [:edit, :update]
- resources :instances, only: [:index]
+
+ resources :instances, only: [:index] do
+ collection do
+ post :resubscribe
+ end
+ end
resources :reports, only: [:index, :show, :update] do
resources :reported_statuses, only: [:create, :update, :destroy]