add synchronize button to account manager
parent
882d089dd0
commit
5af281b057
|
@ -2,8 +2,8 @@
|
|||
|
||||
module Admin
|
||||
class AccountsController < BaseController
|
||||
before_action :set_account, only: [:show, :redownload, :remove_avatar, :remove_header, :enable, :mark_known, :mark_unknown, :allow_public, :allow_nonsensitive, :unsilence, :unsuspend, :memorialize, :approve, :reject]
|
||||
before_action :require_remote_account!, only: [:redownload]
|
||||
before_action :set_account, only: [:show, :redownload, :remove_avatar, :remove_header, :enable, :mark_known, :mark_unknown, :allow_public, :allow_nonsensitive, :unsilence, :unsuspend, :memorialize, :approve, :reject, :sync]
|
||||
before_action :require_remote_account!, only: [:redownload, :sync]
|
||||
before_action :require_local_account!, only: [:enable, :memorialize, :approve, :reject]
|
||||
|
||||
def index
|
||||
|
@ -110,6 +110,16 @@ module Admin
|
|||
redirect_to admin_account_path(@account.id)
|
||||
end
|
||||
|
||||
def sync
|
||||
authorize @account, :sync?
|
||||
|
||||
@account.update!(last_webfingered_at: nil)
|
||||
ResolveAccountService.new.call(@account)
|
||||
SyncRemoteAccountWorker.perform_async(@account.id)
|
||||
|
||||
redirect_to admin_account_path(@account.id)
|
||||
end
|
||||
|
||||
def remove_avatar
|
||||
authorize @account, :remove_avatar?
|
||||
|
||||
|
|
|
@ -54,7 +54,11 @@ class AccountPolicy < ApplicationPolicy
|
|||
end
|
||||
|
||||
def redownload?
|
||||
admin?
|
||||
staff?
|
||||
end
|
||||
|
||||
def sync?
|
||||
staff?
|
||||
end
|
||||
|
||||
def remove_avatar?
|
||||
|
|
|
@ -191,6 +191,7 @@
|
|||
= link_to t('admin.accounts.memorialize'), memorialize_admin_account_path(@account.id), method: :post, data: { confirm: t('admin.accounts.are_you_sure') }, class: 'button button--destructive' if can?(:memorialize, @account)
|
||||
- else
|
||||
= link_to t('admin.accounts.redownload'), redownload_admin_account_path(@account.id), method: :post, class: 'button' if can?(:redownload, @account)
|
||||
= link_to t('admin.accounts.sync'), sync_admin_account_path(@account.id), method: :post, class: 'button' if can?(:sync, @account)
|
||||
|
||||
%hr.spacer/
|
||||
|
||||
|
|
|
@ -158,6 +158,7 @@ en:
|
|||
public: Public
|
||||
push_subscription_expires: PuSH subscription expires
|
||||
redownload: Refresh profile
|
||||
sync: Synchronize
|
||||
reject: Reject
|
||||
reject_all: Reject all
|
||||
remove_avatar: Remove avatar
|
||||
|
|
|
@ -199,6 +199,7 @@ Rails.application.routes.draw do
|
|||
post :unsilence
|
||||
post :unsuspend
|
||||
post :redownload
|
||||
post :sync
|
||||
post :remove_avatar
|
||||
post :remove_header
|
||||
post :memorialize
|
||||
|
|
Loading…
Reference in New Issue