glitch-soc/mastodon

View on GitHub
app/views/admin/accounts/_local_account.html.haml

Summary

Maintainability
Test Coverage
- if account.avatar?
  %tr
    %th= t('admin.accounts.avatar')
    %td= table_link_to 'delete', t('admin.accounts.remove_avatar'), remove_avatar_admin_account_path(account.id), method: :post, data: { confirm: t('admin.accounts.are_you_sure') } if can?(:remove_avatar, account)
    %td
- if account.header?
  %tr
    %th= t('admin.accounts.header')
    %td= table_link_to 'delete', t('admin.accounts.remove_header'), remove_header_admin_account_path(account.id), method: :post, data: { confirm: t('admin.accounts.are_you_sure') } if can?(:remove_header, account)
    %td
%tr
  %th= t('admin.accounts.role')
  %td
    - if account.user_role&.everyone?
      = t('admin.accounts.no_role_assigned')
    - else
      = account.user_role&.name
  %td
    = table_link_to 'contact_mail', t('admin.accounts.change_role.label'), admin_user_role_path(account.user) if can?(:change_role, account.user)
%tr
  %th{ rowspan: can?(:create, :email_domain_block) ? 3 : 2 }= t('admin.accounts.email')
  %td{ rowspan: can?(:create, :email_domain_block) ? 3 : 2 }= account.user_email
  %td= table_link_to 'edit', t('admin.accounts.change_email.label'), admin_account_change_email_path(account.id) if can?(:change_email, account.user)
%tr
  %td= table_link_to 'search', t('admin.accounts.search_same_email_domain'), admin_accounts_path(email: "%@#{account.user_email.split('@').last}")
- if can?(:create, :email_domain_block)
  %tr
    %td= table_link_to 'hide_source', t('admin.accounts.add_email_domain_block'), new_admin_email_domain_block_path(_domain: account.user_email.split('@').last)
- if account.user_unconfirmed_email.present?
  %tr
    %th= t('admin.accounts.unconfirmed_email')
    %td= account.user_unconfirmed_email
    %td
%tr
  %th= t('admin.accounts.email_status')
  %td
    - if account.user&.confirmed?
      = t('admin.accounts.confirmed')
    - else
      = t('admin.accounts.confirming')
  %td= table_link_to 'refresh', t('admin.accounts.resend_confirmation.send'), resend_admin_account_confirmation_path(account.id), method: :post if can?(:confirm, account.user)
%tr
  %th{ rowspan: can?(:reset_password, account.user) ? 2 : 1 }= t('admin.accounts.security')
  %td{ rowspan: can?(:reset_password, account.user) ? 2 : 1 }
    - if account.user&.two_factor_enabled?
      = t 'admin.accounts.security_measures.password_and_2fa'
    - else
      = t 'admin.accounts.security_measures.only_password'
  %td
    - if account.user&.two_factor_enabled? && can?(:disable_2fa, account.user)
      = table_link_to 'lock_open', t('admin.accounts.disable_two_factor_authentication'), admin_user_two_factor_authentication_path(account.user.id), method: :delete
- if can?(:reset_password, account.user)
  %tr
    %td
      = table_link_to 'key', t('admin.accounts.reset_password'), admin_account_reset_path(account.id), method: :post, data: { confirm: t('admin.accounts.are_you_sure') }
%tr
  %th= t('simple_form.labels.defaults.locale')
  %td= standard_locale_name(account.user_locale)
  %td
%tr
  %th= t('admin.accounts.joined')
  %td
    %time.formatted{ datetime: account.created_at.iso8601, title: l(account.created_at) }= l account.created_at
  %td
  = render partial: 'admin/accounts/user_ip', collection: account.user.ips.by_latest_used
%tr
  %th= t('admin.accounts.most_recent_activity')
  %td
    - if account.user_current_sign_in_at
      %time.formatted{ datetime: account.user_current_sign_in_at.iso8601, title: l(account.user_current_sign_in_at) }= l account.user_current_sign_in_at
  %td
- if account.user&.invited?
  %tr
    %th= t('admin.accounts.invited_by')
    %td= admin_account_link_to account.user.invite.user.account
    %td