- type = impersonation ? s_('Profiles|Impersonation') : s_('Profiles|Personal Access') %hr %h5 = _('Active %{type} Tokens (%{token_length})') % { type: type, token_length: active_tokens.length } - if impersonation %p.profile-settings-content = _("To see all the user's personal access tokens you must impersonate them first.") - if active_tokens.present? .table-responsive %table.table.active-tokens %thead %tr %th= _('Name') %th= s_('AccessTokens|Created') %th= _('Expires') %th= _('Scopes') %th %tbody - active_tokens.each do |token| %tr %td= token.name %td= token.created_at.to_date.to_s(:medium) %td - if token.expires? %span{ class: ('text-warning' if token.expires_soon?) } In #{distance_of_time_in_words_to_now(token.expires_at)} - else %span.token-never-expires-label= _('Never') %td= token.scopes.present? ? token.scopes.join(", ") : _('') - path = impersonation ? revoke_admin_user_impersonation_token_path(token.user, token) : revoke_profile_personal_access_token_path(token) %td= link_to _('Revoke'), path, method: :put, class: "btn btn-danger float-right qa-revoke-button", data: { confirm: _('Are you sure you want to revoke this %{type} Token? This action cannot be undone.') % { type: type } } - else .settings-message.text-center = _('This user has no active %{type} Tokens.') % { type: type }