redirect_to admin_invites_path
end
+ def deactivate_all
+ authorize :invite, :deactivate_all?
+ Invite.available.in_batches.update_all(expires_at: Time.now.utc)
+ redirect_to admin_invites_path
+ end
+
private
def resource_params
min_required_role?
end
+ def deactivate_all?
+ admin?
+ end
+
def destroy?
owner? || (Setting.min_invite_role == 'admin' ? admin? : staff?)
end
%li= filter_link_to t('admin.invites.filter.available'), available: 1, expired: nil
%li= filter_link_to t('admin.invites.filter.expired'), available: nil, expired: 1
+%hr.spacer/
+
- if policy(:invite).create?
%p= t('invites.prompt')
= render 'invites/form'
- %hr/
+ %hr.spacer/
-%table.table
- %thead
- %tr
- %th
- %th= t('invites.table.uses')
- %th= t('invites.table.expires_at')
- %th
- %th
- %tbody
- = render @invites
+.table-wrapper
+ %table.table
+ %thead
+ %tr
+ %th
+ %th= t('invites.table.uses')
+ %th= t('invites.table.expires_at')
+ %th
+ %th
+ %tbody
+ = render @invites
= paginate @invites
+
+- if policy(:invite).deactivate_all?
+ = link_to t('admin.invites.deactivate_all'), deactivate_all_admin_invites_path, method: :post, data: { confirm: t('admin.accounts.are_you_sure') }, class: 'button'
search: Search
title: Known instances
invites:
+ deactivate_all: Deactivate all
filter:
all: All
available: Available
resources :email_domain_blocks, only: [:index, :new, :create, :destroy]
resources :action_logs, only: [:index]
resource :settings, only: [:edit, :update]
- resources :invites, only: [:index, :create, :destroy]
+
+ resources :invites, only: [:index, :create, :destroy] do
+ collection do
+ post :deactivate_all
+ end
+ end
resources :relays, only: [:index, :new, :create, :destroy] do
member do