91 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			91 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
- content_for :page_title do
 | 
						|
  = t('admin.accounts.title')
 | 
						|
 | 
						|
= form_with url: admin_accounts_url, method: :get, class: :simple_form do |form|
 | 
						|
  .filters
 | 
						|
    .filter-subset.filter-subset--with-select
 | 
						|
      %strong= t('admin.accounts.location.title')
 | 
						|
      .input.select.optional
 | 
						|
        = form.select :origin,
 | 
						|
                      options_for_select([[t('admin.accounts.location.local'), 'local'], [t('admin.accounts.location.remote'), 'remote']], params[:origin]),
 | 
						|
                      prompt: I18n.t('generic.all')
 | 
						|
    .filter-subset.filter-subset--with-select
 | 
						|
      %strong= t('admin.accounts.moderation.title')
 | 
						|
      .input.select.optional
 | 
						|
        = form.select :status,
 | 
						|
                      options_for_select(admin_accounts_moderation_options, params[:status]),
 | 
						|
                      prompt: I18n.t('generic.all')
 | 
						|
    .filter-subset.filter-subset--with-select
 | 
						|
      %strong= t('admin.accounts.role')
 | 
						|
      .input.select.optional
 | 
						|
        = form.select :role_ids,
 | 
						|
                      options_from_collection_for_select(UserRole.assignable, :id, :name, params[:role_ids]),
 | 
						|
                      prompt: I18n.t('admin.accounts.moderation.all')
 | 
						|
    .filter-subset.filter-subset--with-select
 | 
						|
      %strong= t 'generic.order_by'
 | 
						|
      .input.select
 | 
						|
        = form.select :order,
 | 
						|
                      options_for_select([[t('relationships.most_recent'), 'recent'], [t('relationships.last_active'), 'active']], params[:order])
 | 
						|
 | 
						|
  .fields-group
 | 
						|
    - %i(username by_domain display_name email ip).each do |key|
 | 
						|
      - next if key == :by_domain && params[:origin] != 'remote'
 | 
						|
 | 
						|
      .input.string.optional
 | 
						|
        = form.text_field key,
 | 
						|
                          value: params[key],
 | 
						|
                          class: 'string optional',
 | 
						|
                          placeholder: I18n.t("admin.accounts.#{key}")
 | 
						|
 | 
						|
  .actions
 | 
						|
    %button.button= t('admin.accounts.search')
 | 
						|
    = link_to t('admin.accounts.reset'), admin_accounts_path, class: 'button button--dangerous'
 | 
						|
 | 
						|
%hr.spacer/
 | 
						|
 | 
						|
= form_with model: @form, url: batch_admin_accounts_path do |f|
 | 
						|
  = hidden_field_tag :page, params[:page] || 1
 | 
						|
  = hidden_field_tag :select_all_matching, '0'
 | 
						|
 | 
						|
  - AccountFilter::KEYS.each do |key|
 | 
						|
    = hidden_field_tag key, params[key] if params[key].present?
 | 
						|
 | 
						|
  .batch-table
 | 
						|
    .batch-table__toolbar
 | 
						|
      %label.batch-table__toolbar__select.batch-checkbox-all
 | 
						|
        = check_box_tag :batch_checkbox_all, nil, false
 | 
						|
      .batch-table__toolbar__actions
 | 
						|
        - if @accounts.any?(&:user_pending?)
 | 
						|
          = f.button safe_join([material_symbol('check'), t('admin.accounts.approve')]),
 | 
						|
                     class: 'table-action-link',
 | 
						|
                     data: { confirm: t('admin.reports.are_you_sure') },
 | 
						|
                     name: :approve,
 | 
						|
                     type: :submit
 | 
						|
 | 
						|
          = f.button safe_join([material_symbol('close'), t('admin.accounts.reject')]),
 | 
						|
                     class: 'table-action-link',
 | 
						|
                     data: { confirm: t('admin.reports.are_you_sure') },
 | 
						|
                     name: :reject,
 | 
						|
                     type: :submit
 | 
						|
 | 
						|
        = f.button safe_join([material_symbol('lock'), t('admin.accounts.perform_full_suspension')]),
 | 
						|
                   class: 'table-action-link',
 | 
						|
                   data: { confirm: t('admin.reports.are_you_sure') },
 | 
						|
                   name: :suspend,
 | 
						|
                   type: :submit
 | 
						|
    - if @accounts.total_count > @accounts.size
 | 
						|
      .batch-table__select-all
 | 
						|
        .not-selected.active
 | 
						|
          %span= t('generic.all_items_on_page_selected_html', count: @accounts.size)
 | 
						|
          %button{ type: 'button' }= t('generic.select_all_matching_items', count: @accounts.total_count)
 | 
						|
        .selected
 | 
						|
          %span= t('generic.all_matching_items_selected_html', count: @accounts.total_count)
 | 
						|
          %button{ type: 'button' }= t('generic.deselect')
 | 
						|
    .batch-table__body
 | 
						|
      - if @accounts.empty?
 | 
						|
        = nothing_here 'nothing-here--under-tabs'
 | 
						|
      - else
 | 
						|
        = render partial: 'account', collection: @accounts, locals: { f: f }
 | 
						|
 | 
						|
= paginate @accounts
 |